Java基础操作-- 运算符,流程控制 Flow Control 分支

摘要:简单回顾运算符,比如 短路与、短路或; 8大基本数据类型;  for 循环,While 循环,do...While 循环, If ...else...条件分支;  case , switch , break 跳出循环


一、  运算符

  •    所谓的运算符 就是参与数据运算的符号,java定义的 无法自行定义
  •    算术远算符 二元运算符 :有两个元素参与运算的运算符
  •    算术表达式 = 元素1   二元运算符  元素2,比如 1+2
  •    这个表达式是有结果的 就需要有类型,这里的类型是元素种类类型最大的那一种 ,最小使用的类型为int 类型 

 二、八大基本数据类型  

【byte < short < int <  long】 (整数类型)  <  float  (单精度 浮点型 1.0F)<  double (双精度 浮点型)  < char(字符类型,输入不能是字符串) <  boolean (布尔型 :true ,flase)   存储空间 由小到大

  • 带小数点的数据 会被识别为 精度高的双精度 double 类型 ,比如 1.0 
  • 数据类型的转换: 把小的数据类型 给一个大的数据类型是可以的 ;但是大的不能给小的数据类型 ,会造成丢失数据。
  1.  一元运算符 :一个元素参与运算的 运算符
      ++, -- 自增 ,自减 
     
    int i = 2;
    int j = ++i;
    int u= --i;
    System.out.println("i = " +i);     //i = 2
    System.out.println("j = " +j);     //j = 3
    System.out.println(u);            // 2
  2. 二元运算,含有2个元素  ( 算术运算符 ) : +、   -  、 *  、    /、% (取余运算)
  3. 三元运算符: (表达式)?() :
  4.   关系运算符 :比较两个数据之间的大小关系  ==,!=,>,  >= , < , <=
  5.   赋值运算符 (要考虑 类型的关系):=,+=,-=, *=,/=,%=,(复合赋值运算符)比如: i =i+1 ;//等同于i+=1;
  6. 逻辑运算符:&,      | ,    ^  ,       ! (取反运算)  
  7. 短路 运算符  :&&   表示 短路与; ||  表示 短路或;
  8.  String 字符串类型  ,  双引号 " "表示字符串,字符串 + int, 加号+表示连接符 ;  
              int+int =int ;                           int+" 字符串" 不能进行运算,只是连接关系
int i = 2;
int j = ++i; // 等同于i=i+1;int j = i; 此时i=3
int u= --i;
输出结果:j = 3,  u = 2 (错误点 ,忽略++i == i=i+1; )


2.  byte b1+byte b2 

  • byte 精度 比较小,相加很可能超出它的范围,所以b1 + b2  应该用int 类型接收。
  •  易错点:结果的值 b1 + b2 是int 类型;   最小使用的类型为int 类      
  • // (int + int) => int  ,此时 加上小括号 强制转换数据类型  或者改为:  Int b3 = b1+b2 ; 
byte b1 = 20;
byte b2 = 10;
byte b3 = b1+b2; 错误写法
byte b3 = (byte) (b1+b2);

        System.out.println(b3);                //30
        System.out.println(1+2*3);           //7
        System.out.println((1+2)*3);        //9

把想要先运算的运算符加上小括号 就可以优先执行。 

3.  短路或运算  A || B

在第一个条件为真时,跳过第二个条件表达式、不去执行。

  • 短路或是Java中的一个逻辑运算符,记作“||”。
  • 只有a与b都为false,结果才为false;有一个为true,结果为true。
  • 当运算符“||”的左边为true时,右边的表达式就不会进行运算;
  • 当左边为false时,计算右边的值。
int ii = 1;
        int jj = 2;
        boolean result =(ii!=1)||(++jj >2);
        System.out.println(result);                     //true
        System.out.println(jj);                         //3

true || true 结果为 true

true || false 结果为 true

false || false 结果为 false

false || true 结果为 true

 4. 短路与运算 A&&B

  • 具有短路性质 ,只要有一个条件为假时, 则为假。

  • 当A为false时,不去计算B的值而直接返回false;
  • 当A为true  时,计算B的值。

       // true &&(and) (执行)false => false
        // false* &&(and) (不执行)false => false
   

  或运算 |(or)
        // true |(or) (执行)false => true
        // false |(or) (执行)true => true

  与运算  &(and)
        // true &(and) (执行)false => true
        // false &(and) (执行)false => false

三、流程控制 Flow Control 分支

循环结构 for,while,do while

1. for循环

for( 初始化表达式 ; 条件表达式;更新表达式)

表达式的结果为 flase 则跳出循环 ,不执行;

表达式的结果为 true  则执行; 

2.  while 有条件的循环 

  • while() {  循环的代码  }  

  •  // while循环会判断 条件表达式的结果是否为true .

  •  如果为false 跳出循环;        
  •  如果为true ,会执行大括号内的逻辑代码 ,代码执行完毕后,会重新对条件表达式进行判断。  age++ ;   

3.  循环do{  }; while ()

do{   循环代码  };

 while (条件表达式 )

// 执行的是do 循环内的

do... while, while 的联系和区别:

语法执行的原理和while 语法基本相同,区别就在于循环代码是否至少执行1次;

while 循环语法 可能执行 可能不执行,

格式 :

int age = 30;
 do {age++;
    System.out.println("循环的代码"+age);
 } while (age < 40);
    System.out.println("123");

四、 If 条件结构 

  2、If…else   必选分支:双分支结构( 二选一)

  If  范围 /等值

 If…   else if…   else if…  else if…  else; 

If(i==20){  执行分支1 } ;
else if(i==30){  执行分支2 };
else if(i==40){  执行分支3 };
else if(i==50){  执行分支4};
else{ 执行分支5};     这里的else不一定存在

5. switch 语法  ,  

switch 语法会对数据进行判断,如果等于某一个分支数据的值,那么执行对应分支的逻辑代码。

switch ( 数据 )  { case具体数字:   }            

 break:  跳出case;  case 等值分支判断 (具体的数字或者字符串相等)

【如果执行一个分支后 不想继续执行其他分支,那么可以使用break 关键字,跳出分支结构】

  • 如果所有分支都无法匹配,那么所有分支都不会执行;
  • 如果想要无法匹配也要执行分支,那么可以增加default 关键字。

System.out.println("第一步");
System.out.println("第二步");
    String  i = "30";
switch (i) {
    case "10":    //判断10是否等于初始值,如果相等 执行语句,其他语句不进行再判断 继续往下走。
    System.out.println("分支1");            
    break;

     case "30":
     System.out.println("分支3");
     break;
            
    case "20":
    System.out.println("分支2"); 
break;

6. 快速写代码 小技巧:

  • psvm : 自动生成  public static void main( String[ ] args ) {     }           // 程序的入口
  • sout :  自动生成  System.out.println( );                 // 输出打印的内容
  • 【Ctrl+D】   复制当前行
  • 【Ctrl+R】 替换文本
  • 【Ctrl + /】  选中文本 快速 进行或取消  更多行的注释 

 2023.10.10记录


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值