Java 第二天 笔记

1   变量 

  Java   是一种强类型的语言,每一个变量都必须声明

  Java 变量是程序中最基本的存储单元,其要素包括 变量名,变量类型,作用域

 变量在使用前必须对其声明,只有在变量声明以后才可以为其分配相应的长度的存储单元,声明格式为“:

  type varname [=value],[value1],[value2] ;

 注意事项:

  每一个变量都有类型,类型可以是基本类型。也可以是引用类型

 变量名必须是合法的标识符

 局部变量 :  方法体或者语句块内定义的变量(使用前必须先声明和初始化(即赋初值))

 实例变量 (成员变量):方法体外部,类的内部定义的变量 。如果不自动进行初始化,会自动初始化成该类型的默认初始化值(数值变量初始化0或者0.0,字符型初始化为16位的0,布尔类型初始化为false)

 常量(变量名经常大写): final  类型 加变量名  注意 只能初始化一次  之后尝试改变值会报错

 所有命名规范  : 首字母小写和驼峰原则  runRum()  ageNew

                             常量  大写字母和下划线 MAX-VALUE

                             类名 首字母大写和驼峰原则 : Man GoodMan

2  运算符  

  算术运算符  常见的 加减乘除等,%,++,--

 复制运算符 = 

 关系运算符:>,<,>=,==,!= instanceof

 逻辑运算符&& ,|| !

 位运算符 & ,|,^,>>,<<

 条件运算符 ?:、

 扩展复制运算符:+=,-=,*=,/=  

   二元运算符类型提升

        整数运算 :如果两个操作数有一个 为Long 则结果为Long

        没有Long 时结果为 int 即使操作数全为shot,byte,结果也是int   

       浮点运算:如果两个数有一个为double,则结果为double

       只有两个操作数都是float则结果是float

 一元元算符(++,--)

       int a = 3;

       int b = a++  //执行完b = 3 之后才进行自增 及 a = 3+1

        int c = ++a //执行完后 , c = 5 . 先自增再给b赋值

  布尔逻辑表达符

         逻辑与&&   逻辑或 || 逻辑非 ! 

        && 和 ||  采用短路方式 ,从左到右计算,如果确认值则不会再计算下去

        Boolean c=1>2&&2>(3/0) ;&& 不会抛出异常;说明没有执行3/0  及短路运算

        && 左边的值如果为flase  则右边不会再参与运算结果为false 。 || 左边为true 右边不会再参与运算结果为true

     位运算符 : ~--取反  & --按位与

                     | -- 按位或  ^ --按位异或

                  >>: 右移运算符  (左移动一位相当于除以2取商   < <:左移动一位相当于乘以2)元算符

     扩展运算符:+=   -=    i+=5  即  i = i+5

     字符串连接符 :+      str = "5"      int s = 4     print(str+4)   结果为54  也不是 9     如果加号两边有一个为字符串则整个结果都为字符串

     三目运算符 : ?:       str = (a<b)? "a<b":"a>=b"   如果a<b则吧a<b复制给str 否则 将a>=b复制给str

     示例求出2个数字中的最大值

   public static void main(String[] args) {
        //定义变量来保存最大值
        int max=0;
        //定义2个变量
        int x=3;
        int y=10;
        //使用3目运算判断如果x>y则,max=x,否则max=y;
        max=x>y?x:y;
        System.out.println("max为: "+max);

    }

3     选择结构

     选择结构是根据条件的成立与否,再决定要执行哪些语句的一种结构

    IF语句--单分支结构

       if (判断条件){

         语句1 ;

            …

          语句2 ;

    }

     示例一、 比较2个整型变量的大小

  public class test4 {

    public static void main(String[] args) {
        int x = 3; 
        int y = 10;          //定义2个整型变量,x,y
        System.out.println("=======开始比较=======");
        if(x>y){
            System.out.println("x比y大!");
        }
        if(x<y){
            System.out.println("x小于y!");
        }
        if(x==y){
            System.out.println("x等于y!");
        }
        System.out.println("=======比较完成=======");

    }

}

      if...else语句--双分支结构

         示例二、判断一个数字是奇数还是偶数  

    public class test5 {

    public static void main(String[] args) {
        int x=3;           //定义大中型变量x
        if(x%2==0){             //如果余数为0则是偶数
            System.out.println("x是偶数");
        }else{                   //如果余数不为0则是奇数
            System.out.println("x是奇数");
        }

    }

}

      

if…else if…else语句 --多分支结构

如果需要在if..else里判断多个条件时,就需要if..else if … else语句了,其格式如下:

   if (条件判断1){

    语句主体1 ;

   }else if (条件判断2){

    语句主体 2 ;

    }

  … // 多个else if()语句

    else{

   语句主体3 ;

    }

    

public class test6 {

    public static void main(String[] args) {
        int x=3;
        if(x==1){
            System.out.println("x的值是1!");
        }else if(x==2){
            System.out.println("x的值是2!");
        }else if(x==3){
            System.out.println("x的值是3!");
        }else{
            System.out.println("x的值不是1,2,3 中的一个!");
        }

    }

}

         

Switch结构

要在许多的选择条件中找到并执行其中一个符合判断条件的语句时,除了可以使用if..else不断地判断之外,也可以使用另一种更方便的方式即多重选择——switch语句,语法格式:(当 语句内没有break会一直往下执行 直到碰到break语句   或者defaultc才结束)

switch (表达式){

case 选择值1 : 语句主体 1 ;        break ;

case 选择值2 : 语句主体 2 ;                 break ;

…….

case 选择值n : 语句主体 n ;                break ; default:  语句主体 ;

}

  示例五、判断学生成绩,并给于评分,90~100分,A级大于80分,B级,大于70分,输出C级,大于60分,D级,低于60分输出E级

public class test7 {

    public static void main(String[] args) {
       int score = 75;   //声明学生分数
       switch (score/10){
       case 10:
       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;
       }

    }

}

结果:C级

还是 上面的如果不加break;

    

public class test7 {

    public static void main(String[] args) {
       int score = 75;   //声明学生分数
       switch (score/10){
       case 10:
       case 9:
         System.out.println("A级");
     
       case 8:
           System.out.println("B级");
           
       case 7:
           System.out.println("C级");
        
       case 6:
           System.out.println("D级");
        
       default:
           System.out.println("E级");
        
       }

    }

}

   结果:C级,D级,E级

4  循环结构和用到的break 和continue 关键字

   可能存在一种情况,当我们需要执行的代码块数次,并且通常被称为一个循环。

  Java有非常灵活的三循环机制。可以使用以下三种循环之一:

  • while 循环

  • do...while 循环

  • for 循环

 从Java5,增强的for循环中进行了介绍。这主要是用于数组。

 while 循环:

 while循环是一个控制结构,可以重复的特定任务次数。

 语法:

 while循环的语法是:

while(Boolean_expression)
{
   //Statements
}

在执行时,如果布尔表达式的结果为真,则循环中的动作将被执行。这将继续下去,只要该表达式的结果为真。

在这里,while循环的关键点是循环可能不会永远运行。当表达式进行测试,结果为 false,循环体将被跳过,在while循环之后的第一个语句将被执行。

例子:

public class Test {

   public static void main(String args[]) {
      int x = 10;

      while( x < 20 ) {
         System.out.print("value of x : " + x );
         x++;
         System.out.print("
");
      }
   }
}

这将产生以下结果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

do...while 循环:

do ... while循环类似于while循环,不同的是一个do ... while循环是保证至少执行一次。

语法

do...while循环的语法是:

do
{
   //Statements
}while(Boolean_expression);

请注意,布尔表达式出现在循环的结尾,所以在循环中的语句执行前一次布尔测试。

如果布尔表达式为true,控制流跳回起来,并且在循环中的语句再次执行。这个过程反复进行,直到布尔表达式为 false。

例子:

public class Test {

   public static void main(String args[]){
      int x = 10;

      do{
         System.out.print("value of x : " + x );
         x++;
         System.out.print("
");
      }while( x < 20 );
   }
}

这将产生以下结果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

for 循环:

for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。

知道多少次的任务是要重复一个for循环是有好处的。

语法

for循环的语法是:

for(initialization; Boolean_expression; update)
{
   //Statements
}

下面是控制在一个流程的循环:

  • 初始化步骤首先被执行,并且仅一次。这个步骤可声明和初始化任何循环控制变量。不需要把一个声明在这里,只要一个分号出现。

  • 接下来,布尔表达式求值。如果是 true,则执行循环体。如果是 false,则循环体不执行和流程控制的跳转到下一个语句过去的for循环。

  • 之后循环体在for循环执行时,控制流程跳转备份到更新语句。该语句允许更新任何循环控制变量。这个语句可以留空,只要一个分号出现的布尔表达式之后。

  • 布尔表达式现在再次评估计算。如果是 true,循环执行,并重复这个过程(循环体,然后更新的步骤,然后布尔表达式)。之后,布尔表达式为 false,则循环终止。

例子:

public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x+1) {
         System.out.print("value of x : " + x );
         System.out.print("
");
      }
   }
}

这将产生以下结果:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

for循环在Java中增强版:

从Java5,增强的for循环中进行了介绍。这主要是用于数组。

语法

增强的for循环的语法是:

for(declaration : expression)
{
   //Statements
}
  • 声明: 新声明块变量,这是一种与正在访问数组中的元素兼容的。变量将是可利用的块内并且它的值将是相同的作为当前的数组元素。

  • 表达: 这个计算结果完成需要循环数组。表达式可以是一个数组变量或方法调用返回一个数组。

例子:

public class Test {

   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("
");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

这将产生以下结果:

10,20,30,40,50,
James,Larry,Tom,Lacy,

break关键字:

关键字break是用来停止整个循环。 break关键字必须使用任何循环或switch语句中。

关键字break将停止最内层循环的执行,并开始执行的下一行代码的程序段后。

语法

break语法是任何循环中一个单独的语句:

break;

例子:

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      break;
         }
         System.out.print( x );
         System.out.print("
");
      }
   }
}

这将产生以下结果:

10
20

continue 关键字:

continue关键字可以在任一环的控制结构可以使用。它使循环立即跳转到循环的下一次迭代.(continue后的所有语句将不在执行,重新开始回到循环的开始)

  • 在for循环中,continue关键字会导致流程控制的立即跳转到更新语句。

  • 在一个while循环或do/while循环,流控制的立即跳转到布尔表达式。

语法

continue 语法是任何循环中一个单独的语句:

continue;

例子:

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      continue;
         }
         System.out.print( x );
         System.out.print("
");
      }
   }
}

这将产生以下结果:

10
20
40
50
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值