- 浏览: 105899 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
小小诺:
博主实例2中的代码博主难道没有测试吗?“工资总额不能超过6万元 ...
PLSQL -
emilyzhanghong:
我一般都用工具导入导出,语句记不住.
ORACLE 导入导出
一.
1. 循环结构
1. while 语句格式: 循环语句的好处:可以让指定语句执行很多次。
while(条件表达式) 对于while,它和if有点相似,但是if只对条件判断一次
{ while可以对条件判断多次。
执行语句;
}
2.do while 语句格式: 注意: 无论循环条件是否满足,循环体至少执行一次。
do 这种循环相对少用。
{
执行语句;
}while(条件表达式);
注意:定义循环时,一定要明确,哪些语句需要参与循环,哪些不需要。
我做的练习:
练习:
1,求出1~10十个数的和。(main方法,和类,在此省略了)
int a = 1,sum = 0;
while(a<=10){
sum = sum + a;
a++;
}
System.out.println(sum+"");//这个其实就是编程中最基本的一个小思想:累加思想。
2,获取1~100之间6的倍数的个数。
int a = 1,sum = 0;
while(a<100){
if(a%6==0){
sum ++;
}
a++;
}
System.out.println(sum+"");//这就是一个最基本的思想:计数器思想。记录住符合某一条件的次数。
3.for循环语句格式
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;(循环体)
}
通过练习发现,while和for几乎一样。
但它们有什么区别呢?
其实while和for是可以互换的。
int x = 0;
while(x<3)
{
System.out.println("x="+x);
x++;
}
System.out.println("x....."+x);
for(int a=0; a<3; a++)
{
System.out.println("a="+a);
}
System.out.println("a......"+a);//注意,for循环结束后,a变量。已经消失了。所以这句代码是编译失败的。
如果定义变量的目的只为循环的增量存在。
只为控制循环的次数。那么最好使用for语句。将该变量定义在for循环中。
如果定义的变量被循环操作后,还需要继续被使用。可以使用while循环。
for 循环的顺序:
首先执行第一个表达式,之后到第二个循环表达式,之后到循环体,再到第三个自增或者是自减的表达式,之后执行刚才的第二个表达式,之后循环体,之后第三个表达式,以后就以此类推,直到循环结束。(初始化表达式只执行一次)
注意:当循环结束时,x就在内存中消失了,专业术语叫做“被释放”,因为x变量的作用范围结束了。
for 语句的其它表现形式:
for(;;){}//这就是传说中for的最简单的无限循环形式。条件表达式不写,默认就是true。
while(true){}//这是while语句最简单的无限循环形式。
格式注意事项:
for(int x=0; x<3; x++);//注意加上分号结束,编译可以通过,但是下面的代码块已经不再是循环体了。
{}
int y = 0;
while(y<3);//注意;不要加分号,因为该循环无限了。
{}
而且 for里面也可以定义多个变量,后面也可以有多个加加,或者减减。
下面这个挺好玩,以前没见过:
int x = 0;
for(System.out.println(“a”); x < 2; System.out.println(“c”)){
Syetem.out.println(“b”);
}//结果是 a b c b c 注意:for里面写的表达式,不一定非得是那些 (如:int x=1;x<2;x++)形式
练习:需求:
3000米长的绳子,每天减其一半。问,需要多少天,绳子的长度会小于5米?
注意:不考虑小数。只考虑整数。
思路:
1,能减一半,我就记一天,所以有一个计数器。
2,减一半的动作和计数的都在运行多次,所以需要循环完成。
3,我们是对绳子操作,3000就是初始化值。 条件是只要大于等于5米,都可以对其进行减一半操作。
(省略了main和class)
int day = 0;
for(int x = 3000; x >= 5; x = x/2) { //也可以 for(int x = 3000; x >= 5; day++){
day ++ ; x = x/2;
} System.out.println(day + “天”); }
4.for循环嵌套
两个for循环嵌套在了一起,那么它们是怎么执行的呢??
其实执行的顺序和一个循环的差不多,首先从外循环开始,外循环的第一个表达式,到外循环的第二个表达式,之后转到内循环的第一个表达式,之后内循环的第二个表达式,之后是内循环的循环体,之后内循环的第三个表达式,当内循环结束时,跳向外循环的第3个表达式,之后的顺序和一个循环的的时候一样。
我做的小例子:
1. 用*打印出一个矩形。
for(int x = 1; x <= 5; x++){
for(int y = 1; y <=5; y++){
System.out.print("*");
}
System.out.println();}//此行没有输出作用,它在此的作用就是换行。
运行结果: *****
*****
*****
*****
*****
2. 用*打印出尖朝下的三角形,和尖朝上的三角形
for(int x = 1; x<=5; x++){
for(int y = x; y<=5; y++){
System.out.print("*");
}
System.out.println();
} 注意:尖朝下的三角形,只需让初始的y等于x即可。
运行结果: *****
****
***
**
*
其实也可以定义一个变量z,因为y代表列数,它是变化的,它也就可以等于z
for(int x=1; x<=5; x++){
for(int y=1; y<=x; y++){
System.out.print("*");
}
System.out.println();
} 注意:尖朝上的三角形,只需让循环条件的y等于x即可。
运行结果: *
**
***
****
*****
3. 转义字符
转义字符。就是对某些字符进行含义的转变。通过 \ 来完成。
用 \ 来转义它后面那个字符的含义。
常见的转义字符:
\t:表示tab键。制表符。
\b:表示退格键。backspace
\r:表示按下回车键。
\n:表示换行。
对于特殊符号,如果想要仅使用该符号,而不需要该符号的含义,也许要被转义。比如 \"
注意:不同的操作系统,对换行符的定义是不一样的。对windows系统而言,换行符是由两个字符组成 \r\n.
对于linux而言:换行符就是 \n.
4. break 和 continue
1. break:跳出。
该语句有自己作用的范围。离开这个范围该语句的存在是没有意义,是编译失败的。
作用的语句:
1,switch语句。 2,循环结构。
如果break语句单独存在,下面不可以定义其他语句。因为执行不到。编译会失败。
注意:如果出现嵌套循环,break定义在内循环中。记住一点,break默认只作用于当前所在的循环。
如果想要break跳出外循环呢?(面试题)
这时就需要给循环定义名称,就是所谓的标号。
如: haha:for(int x=0; x<4; x++)
{
for(int y=0; y<5; y++)
{
System.out.println("x="+x);
break haha;
}
}
一般不这样使用,只有面试的时候或许会用到。
2. continue语句:
continue:继续。
作用的语句:循环语句。
注意:continue语句单独存在时,下面不可以有其他语句,因为执行不到。
continue默认作用于当前循环。
想要作用于嵌套的其他循环。可以定义标号。
continue:结束本次循环,继续下次循环。
hehe:for(int x=0; x<3; x++)
{
for(int y=0; y<4; y++)
{
System.out.println("x="+x);
continue hehe;
}
}//输出结果0 1 2。
二. 函数(重点)
1. 函数:就是程序中一段独立的代码,用于定义一个特定的功能。函数也叫方法
格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
} 返回值类型就是这个功能运算后的结果的数据类型。
注意写法:
函数定义在类中。
不要将函数定义在函数中。
函数中只能调用函数。
参数列表和返回值类型没有直接联系。
public static int add(int a,int b)//a b 叫做形式参数。用于接收实际参数。
{
return a+b;//return将结果返回给了谁呢?谁在调用add方法,这个结果就返回给谁。
}
使用函数,可以提高代码的复用性。
2. 函数没有具体反回结果的情况:
注意:返回类类型就是 返回值的对应的数据类型。
如果一个函数没有具体的返回值,那么返回类型,用一个特殊的关键字表示 void.
特殊之处:
当函数的返回值类型是void时,函数内的return语句可以省略不写。写上也不算错。
不写,系统会帮你加上。
当时如果有具体的返回值时,必须写return语句。
记住:以后写程序,不要将代码都定义在主函数中。
而是都封装成一个一个的函数。
而主函数只用来调用定义好的函数功能,用来测试这个功能是否可用。
3. public static void add2(int a,int b)
{
System.out.println(a+b);
//直接打印,没有返回值 ;
}
注意:
定义功能时,只要注重功能的具体实现即可。
至于这个功能的结果,该如何去操作,那不是这个功能需要做的事情。
应该只实现功能本身,将结果返回给调用者,由调用者来决定,这个结果该如何处理,
是要打印啊,还是要判断,还是要参与其他运算啊。
4. 方法的重载(overLoad)
注意:在定义函数是,函数名很重要,函数名通常是根据函数的功能而起的名字,
要尽量的有意义。尽量通过函数名来体现函数的功能。
可是函数中有可能出现功能相同的函数。
这时不要定义多余名字,都用同一个名称即可。因为他们的功能是相同的。
怎么区分呢?它们不同的地方在于,实在该功能的过程中,参与运算的未知内容不同,要么个数不同,要么类型不同。
就可以存在于同一个类中。
注意:函数的重载只看参数列表。和返回类型无关。
三.总结:
由于昨天没做总结,今天我又把个别的视频回看了一下,加深了一下印象,感觉有点浪费时间了。以后我争取每天都坚持写完再休息。昨天敲了部分代码,还有一些练习没有完成,今天的主要任务就是敲代码,以及把三天的知识都过一遍。
问题清单:
1. 师傅,我们老师说了,函数是为了完成一个特定的功能,它只需完成它的这个功能,之后把结果返回给调用者。它也不用去输出什么的,但为什么还是有一些函数,会在自己的函数中做一些输出呢??
这个问题问得好,你去理解下 这个mian函数
package onlyfun.action;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入您要查询的分数");
int score=s.nextInt();
int leave=(int)score/10; // 1:这里是取商 2:取模就是取余数
switch (leave) {
case 9:
System.out.println("恭喜您,您的等级为A");
break;
case 8:
System.out.println("嗯,还不错。您的等级为B");
break;
case 7:
System.out.println("要加油啊,您的等级为C");
break;
case 6:
System.out.println("很幸运您的等级为D");
break;
default:
System.out.println("糟糕,您的等级为E");
break;
}
}
}
是不是也要输出结果了。在你以后的真实的项目中,你就发现你的说法是很正确的,函数就是完成某一个功能比如说操作数据库的类,返回一个结果,给业务层,业务层返回给web层,前台在用前台的技术比如js的一些框架调用。显示到前台,这就是所谓的web开发。现在在一些类里面打印出数据是为了测试程序。比如说单元测试,看看返回结果正确不正确。
今天总结不错,只是问题少了点。问题反应一个人的思维能力。
发表评论
-
db2 with函数使用
2012-08-15 10:59 1007WITH T1 AS( SELECT CGBT.SEGM ... -
db2 数据 对象备份
2012-07-28 17:03 778CREATE OR REPLACE FUNCTION RSPD ... -
Java_sokect 网络通信
2012-05-10 23:52 922客户端程序 package tcp; import j ... -
jdk下载以及Windows 安装
2011-12-29 20:13 1288http://www.oracle.com/technetwo ... -
JAVA基本功<8>_面向对象
2011-12-15 00:22 709一.面向对象的特点: ... -
JAVA基本功<7>_JDBC
2011-12-15 00:19 1083一、jdbc基本概念 jdbc : Java Database ... -
JAVA基本功<5>
2011-12-15 00:15 1797一.常量与变量 1.概念:变量就是内存中的一个存储区域,它有 ... -
JAVA基本功<4>
2011-12-15 00:09 7531:人机交互的方式: 一 ... -
J2SE基本功<3>
2011-09-27 15:35 687public class Test1 { public ... -
日期处理
2011-09-12 23:50 814http://changguangjuan.blog.163. ... -
泛型总结
2011-09-08 09:58 752package daan; /* 使用泛型类的限制和 ... -
J2SE基本功<2>
2011-09-07 09:06 669http://blog.csdn.net/java334452 ... -
J2SE基本功<1>
2011-08-16 22:55 611一、Java是一门高级语言,具有跨平台性(一次编译到处运行)1 ... -
IO文件读取
2011-08-01 08:51 678斯蒂芬 -
String数组的二分排序
2011-07-31 18:04 1489public class Bsearch { /* ... -
JAVA编程练手题
2011-07-04 23:48 27831:写一个方法(函数):判断一个单链表中是是否有环? 2:串行 ... -
代理模式
2011-06-16 09:54 632使用动态代理不需要为特定对象与方法编写特定的代理对象,可以 ... -
策略模式
2011-06-09 00:11 717策略模式:高内聚 低耦合 可扩展(OCP) 在策略与最终用 ... -
正则表达式
2011-05-30 15:13 658import java.util.regex.Matcher; ... -
JSP 连接MySQL数据库
2011-05-29 20:23 763<%@ page contentType="t ...
相关推荐
在HTML中,我们用各种标签来定义网页元素,如`<head>`定义头部,`<body>`定义主体内容,`<h1>`至`<h6>`定义不同级别的标题,`<p>`定义段落,`<a>`定义超链接,`<img>`插入图像,`<ul>`和`<li>`创建无序列表,`<ol>`...
其中的一道试题: <br>面向对象程序设计以_(1)_为基本的逻辑构件,用_(2)__来描述具有共同特征的一组对象,以_(3)_为共享机制,共享类中的方法和数据。<br><br>(1) A.模块 B.对象 C.结构 D.类<br>(2) A.类型 B....
理解并熟练掌握这三种技术是前端开发的基本功,而这份"HTML,CSS,JavaScript语法简明速查表"将帮助开发者快速查找和复习这些关键知识点,提高开发效率。在实际工作中,开发者还应了解相关工具和框架,如预处理器...
了解并熟练掌握`web.xml`配置是每个Java Web开发者的基本功,它可以帮助我们更精确地控制应用的行为,提高代码的可维护性和可扩展性。通过不断实践和调整,你可以根据需求定制出最适合你的应用的配置方案。
"java 基本功训练题及参考答案"这个资料集合显然就是为了帮助Java初学者巩固基础而设计的。 文档"Java编程基本功训练题及参考答案(50+10).doc"很可能包含了50个基础编程题目和额外的10个进阶问题,覆盖了Java语言的...
《疯狂Java:突破程序员基本功的16课》是一本专为Java初学者和有经验的程序员设计的书籍,旨在通过一系列深入浅出的课程,帮助读者巩固和提升编程技能,从而达到“疯狂”提升Java编程能力的目标。这本书涵盖了程序员...
《疯狂Java:突破程序员基本功的16课2》是一本深入浅出的编程学习书籍,专注于提升程序员的基础技能。作者李刚以其丰富的教学经验,精心设计了16个课程,旨在帮助读者全面掌握Java编程的核心知识,为日后的职业发展...
疯狂Java 突破程序员基本功16课1 完全清晰版 5分超低分 挥泪相送啦!这是第二部分 记得下第一部分哇!
Java基本功面试专题涵盖了许多核心概念,是求职者在准备Java相关职位面试时不可或缺的知识点。这份2W字的详细资料可能包括了类与对象、数据类型、控制结构、异常处理、内存管理、多线程、集合框架、IO流、网络编程、...
对于提升java程序员的基本功十分有帮助,让你深入理解java的内在。也可用于面试
<voicePrice>0.1</voicePrice> <signZH>中文签名</signZH> <signEN>英文签名</signEN> </resp> ``` **返回值说明**: - **code**:返回状态码,其中`1000`表示操作成功,其他状态码的含义参考附录中的`code`...
灰灰老师 Java基本功:List转Map List的几种姿势
根据提供的文件信息,我们可以推断出这是一本关于Java编程技术的书籍——《疯狂Java突破程序员基本功的16课》。尽管没有提供具体的章节内容,但基于书名及其描述,我们可以合理推测这本书的主要内容是帮助程序员提升...
String xmlString = "<students><student><name>John</name><age>30</age></student><student><name>Jane</name><age>28</age></student></students>"; DocumentBuilderFactory factory = DocumentBuilderFactory....
疯狂Java:突破程序员基本功的16课.修订版。。
内容讲解的很详细,对java程序员有一个质的提升,欢迎大家下载
"突破程序员的java基本功代码"这个主题旨在帮助Java程序员深化对基础概念的理解,提升编程技能,从而在职业生涯中实现突破。下面将详细探讨Java编程的基本知识点。 一、Java语法基础 Java的语法结构严谨,它借鉴了...