java语言基础笔记——语句,函数 语句 函数

java语言基础笔记



判断结构(重点)

三种格式:

第一种:   if(条件表达式){

  执行语句;
        }
  System.out.println();
  举例:
  int age = 17;
  if (age >= 18)
  System.out.println("可以浏览本网站");
  
  System.out.println("完了");

第二种

if(条件表达式){//if else和三元运算符的区别

执行语句;//三元运算符是一个运算符号,ifelse是一个语句
       }else{ //三元运算符运算后必须有结果,而且不能有语句
//ifelse可以没有结果,可以有语句
                执行语句;
       }
int x,y,z;
x = 5;
y = 10;
/* if (x > y){
z = x;
}else{
z = y;
}*/
z = (x > y) ? x : y;
  举例:
    int x = 1;
if (x == 1){
System.out.println("男厕所欢迎您");
}else {
System.out.println("女厕所欢迎您");
}

第三种:if(条件表达式){

               执行语句;
       }else if (条件表达式){
              执行语句;
       }else{
              执行语句;
       }
举例:
int x = 1;
if (x == 1){
System.out.println("男厕所欢迎您");
}else if(x == 0){
System.out.println("女厕所欢迎您");
}else {
System.out.println("无法识别您的性别");
}

选择结构switch

格式:
int x = 10;
switch (表达式){//byte,short,int,char,String 枚举

case 表达式里对应的值:
执行语句;
//break;
case 表达式里对应的值:
执行语句;
break;
......
default:
执行语句;
break;//最后一句的break可写可不写,因为程序已经执行到了末尾
}
举例:
String name = "rose";
String gender = "人妖";
switch (gender){
case "先生":
System.out.println(name + "是一位" + gender + "喜欢吃饭睡觉打dota");
break;
case "女士":
System.out.println(name + "是一位" + gender + "逛街购物美容");
break;
default:
System.out.println(name + "是一位" + gender + "打雌性激素保持美貌容颜");

}
重点:switch 结束只有两种情况
1,当程序执行过程中遇到了break
2,当程序执行到了末尾处
应用 switch需要注意的两个细节
1,当switch表达式的值与其中一个case匹配的时候,这个case里没有写break;语句,那么程序会继续执行下个case里
的执行语句,不会再对case值进行判断,应用于当几个case里的值所要执行的语句都一样的时候,我们可以不写break
例如:我们做一年有四季的例子:
int month = 4;
switch (month){
case 3:
case 4:
case 5:
System.out.println(month+"月是春季");
//break;
case 6:
case 7:
case 8:
System.out.println(month+"月是夏季");
break;
case 9:
case 10:
case 11:
System.out.println(month+"月是秋季");
break;
case 12:
case 1:
case 2:
System.out.println(month+"月是冬季");
break;
default:
System.out.println(month+"月没有这样的月份")

}//上述例子就是三个case里面的值输出都一样的,所以我们省略了break;这样会少写几行代码,提高效率

当我们把 default 不是写在最后,default 里面还没有写break的是时候,switch里的表达式与各个case里
的值都不匹配的时候,上面两个条件同时满足的话,程序在default里执行完了还会再去执行case里的语句
例如:
int x = 3;
switch (x){
case 4:
System.out.print("a");
break;
default:
System.out.print("b");//当程序执行到了default但是他没有break,下面的case值不再判断,程序继续执行
case 5:
System.out.print("c");
case 6:
System.out.print("d");
break;//遇到break,程序跳出
case 7:
System.out.print("e");
}


循环结构for

while循环

格式:
while (条件表达式){
循环体;
控制循环次数;
}
例如:
int x = 3;
while (x<6){
System.out.println("x="+x);//循环体
//x++;//用x自增来控制循环次数
}

do while 循环

格式:
do{
循环体;
控制循环次数
}
while (条件表达式);
例如:
int x = 3;
do{
System.out.println("x="+x);//循环体
x++;//用x自增来控制循环次数
}
while (x<6);

while和do while的区别:

dowhile语句会先执行循环体,再去判断条件,也就是说无论条件是否满足他都至少要执行
一次循环体,先执行再判断
while 先判断条件,只要条件不满足就不在执行循环体了,先判断,再执行.


for 

格式:
for(初始化表达式1;循环条件表达式2;循环后的操作表达式4){
执行语句;(循环体)3
}
例如:
for(int x=0; x< 3;x++ ){
System.out.println("x="+x);
}
问个问题初始化表达式可不可以定义在外面,循环后的表达式可不可以定义在大括号里面?
int x=3;
for( x=4; x<5; x++){
System.out.println("x="+x);
}

for 的嵌套循环

建议做题的时候就弄个双层嵌套就可以,不要弄太多层,影响效率
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式){//这是外层循环
执行语句;(循环体)
//下面是内存循环
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句;(循环体)
}
}


for (int x=1;x < 6;x++ ){
for(int y=1; y<6; y++){
 
System.out.print("*");

}
System.out.println();
}

continue和break

a,这两个语句离开应用范围,存在是没有意义的。
b,这两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。


函数

(1)函数的定义

函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。

(2)函数的格式

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) {
执行语句;
return 返回值;
}
public static int add(int a,int b)//a = 3,b =5
A:修饰符 后面会重点讲。public static
B:返回值类型 这个特定的功能完成后,需要返回一个结果。这个地方就是返回结果的类型。
C:函数名 为了方便使用这个函数,给它起个名字。这个名字要符合标识符命名规则。
D:参数类型 形式参数的数据类型
**:形式参数 自定义的接收方
**:实际参数 发出方add(3,5)
E:执行语句 那么这个语句是由多条语句组成。
F:return 这个功能执行完以后,需要有一个返回值,那么这个值有关键字return带回。

(3)函数的特点

A:一般函数只有被调用后,才执行。
B:void 表示没有返回。在这个函数的结尾可以不写return。
**其实jvm会自动的结尾处加上return;

(4)如果定义自己的函数 两个明确

A:明确该功能的结果 其实就是该功能的返回类型。
B:明确该功能的参数 其实就是明确该功能中是否需要未知内容(形式参数)参与运算。
   明确未知内容的类型和个数。

(5)函数的重载

A:函数名相同,参数列表不同。
**参数类型不同。int add(int i)void add(double d)
**参数个数不同。add(int a,int b);add(int a,int b,int c)
**参数顺序不同  print(String name, int age)//参数顺序不同的重载是可以存在的,但是没有什么实际意义
print(int age,String name)
B:特点:与返回值类型无关,只看参数列表。
C:好处:便于阅读,优化程序设计。