Java_Day02

Day02笔记

运算符

 1.位运算

   &  |  ^

3&6 = 2

3:  0000 0011

6 :0000 0110

结果:  0000 0010

 

3|7 = 7

 0000 0011

 0000 0111

 0000 0111

 

3^7 = 4

 0000 0011

 0000 0111

 0000 0100

左移右移运算符

  <<   >>

3<<2 = 12  3*22 = 12

3<<3 = 24  3*23= 24

0 0 0 0 0 0 1 1
0 0 0 0 1 1 0 0
0 0 0 1 1 0 0 0


6>>2= 1  6/22 =1

6>>3 =0  6/23 = 0

0 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1
0
0 0 0 0 0 0


自增自减运算符

  ++  --   1

自增符号写到变量名称之后:先参与运算,再执行自增

前:先执行自增,再参与运算

自减符号写到变量名称之后:先参与运算,再执行自减

前:先执行自增,再参与运算

复合运算符 :一步进行加号运算和赋值运算,不需要强制转换

 += -=*=/=

三目运算(唯一的)

  语法: 表达式1?表达式2:表达式3

执行情况:表达式1结果为true,执行表达式2

False,执行表达式3

 

流程控制语句

判断语句 if   判断条件返回值必须是boolean值,

 语法:if(判断条件){

代码块;

}

当代码块只有一句时,可以省略大括号。

If - else 表达式,比单个if语句执行效率高

 If(条件表达式){

代码块1

}else{

代码块2

}

if else if :永远只执行某个条件的一个代码块

语法:if(表达式1){

代码块1

}else if(表达式2){

代码块2

}else if(表达式3){

代码块3

}

......

else{

代码块1

}

 

分支语句

switch case  key是值,常量,key的类型只可以是int short byte char

语法:switch(key){

case key1:

代码块1;

break;

case key2:

代码块2;

break;

case key3:

代码块3;

break;

.....

default:

代码块

break;

}

If -else switch语句的区别:判断是范围的情况使用if;判断的值是固定的值、个数使用switch. If语句可以代替switch.

 

循环结构

 

三种循环体系

while

语法:

while(条件表达式){

代码块;

}

do while

语法:

do{

代码块;

}while(条件表达式);

Whiledo while循环的区别:条件不满足时,while循环不执行,dowhile循环执行一次。

 

for

语法:

for(初始部分; 条件表达式;迭代部分){

代码块;

}

 

While循环和for循环的区别:while循环次数未知。For循环的次数是已知的固定的。

 

 

嵌套循环 for循环的嵌套



public class  Day02_01{

public static void main(String[] args){

//位运算

//System.out.println(3^7);

/*左移右移

System.out.println(6>>2);*/

//自增自减

/*int i = 10;

int j = 1 + i--;

int h =  --i+1 ;

System.out.println("....j:"+j+"i:"+i);

System.out.println("....h:"+h);*/

//复合运算符

/*int i = 10;

i = i +1 ;

i += 1;

System.out.println("....i:"+i);*/

/*short i = 10;

//i = i +1 ;//从int转换到short可能会有损失

i += 1;

System.out.println("....i:"+i);*/

//三目运算符

int a = 10;

int b = 3<2 ? 3: 6;

System.out.println("....b:"+b);

}


}

public class  Day02_02{

public static void main(String[] args){

/*if判断语句*/

/*int a = 10;

if(a>8){

System.out.println("判断语句执行11");

}

if(a<8){

System.out.println("判断语句执行22");

}

System.out.println("----------分隔符---------");

if(a>8){

System.out.println("判断语句执行33");

}else{

System.out.println("判断语句执行44");

}*/

/*int a = 10;

int b = 3<2 ? 3: 6;

System.out.println("....b:"+b);*/

//作用域

/*int a = 10;

int b;

if(3<2){

b = 3;

}else{

b = 6;

}

System.out.println("....b:"+b);*/

/*if - else if -else*/

/*int score = 70;

if(score >= 60 && score < 70){

System.out.println("一般");

}else if(score >= 70 && score < 80){

System.out.println("良");

}else if(score >= 80 && score < 90){

System.out.println("优良");

}else if(score >= 90 && score <= 100){

System.out.println("优");

}else{

System.out.println("不及格");

}*/

/*一周7天

switch穿透:匹配上一个条件时,其余的都不管,直接进行执行。

break:跳出循环

*/

boolean day = true;

switch(day){   //不兼容的类型: boolean无法转换为int   为什么?

 case true:

 System.out.println("星期1");

 break;

 case false:

 System.out.println("星期2");

 break;

 /*case 3:

 System.out.println("星期3");

 break;

 case 4:

 System.out.println("星期4");

 break;

 case 5:

 System.out.println("星期5");

 break;

 case 6:

 System.out.println("星期6");

 break;

 case 7:

 System.out.println("星期7");

 break;*/

default:

System.out.println("不匹配");

break;

}

}


}

public class  Day02_03{

public static void main(String[] args){

//while循环语句

/*int i = 1;

while(i<3){

System.out.println("while循环语句");

i++;

}

System.out.println("结束");*/

//输出1-100 以内的7的倍数

/*int i = 1;

while(i<=100){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i++;

}*/

/*int i = 100;

while(i>=1){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i--;

}*/

/*int i = 0;

while(i>=1){

System.out.println("进入while循环");

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i--;

}

System.out.println("---------分隔符-----------");

int j = 0;

do{

System.out.println("进入do while循环");

if(j%7 == 0 ){

System.out.println("j:"+j);

}

j--;

}while(j>=1);*/

/*int i = 100;

while(i>=1){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i--;

}*/

/*for(int i = 100; i >= 1 ; i--){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

}*/

/*

*****

*****

*****

*****

*****

*/

for(int i = 0 ;i<5; i++){

for(int j = 0 ; j< 5;j++){

System.out.print("*");

}

System.out.println();

}


}


}


public class  Practice_01{

public static void main(String[] args){

boolean vip = true;//会员,false为非会员,true为会员

double buy_money = 100; 

double discount_money = 0;//折扣金额

double real_money = 0;//实际支付金额

//从是否为会员的角度来分析

if(vip){//会员

if(buy_money >= 100){

discount_money = buy_money * (1 - 0.8);

}else{

discount_money = buy_money * (1 - 0.9);

}

}else{//非会员

if(buy_money >= 100){

discount_money = buy_money * (1 - 0.9);

}

}

System.out.println("1折扣金额discount_money:"+discount_money);

System.out.println("1实际支付金额real_money:"+(buy_money-discount_money));

//从打9折打8折的角度分析

if((vip==true && buy_money < 100)|| (vip == false && buy_money >= 100)){//9折

discount_money = buy_money * (1 - 0.9);

}else if(vip==true && buy_money >= 100){//8折

discount_money = buy_money * (1 - 0.8);

}else{

discount_money = buy_money ;

}

System.out.println("2折扣金额discount_money:"+discount_money);

System.out.println("2实际支付金额real_money:"+(buy_money-discount_money));

/*while循环语句

int i = 1;

while(i<3){

System.out.println("while循环语句");

i++;

}

System.out.println("结束");

*/

//输出1-100 以内的7的倍数

/*int i = 1;

while(i<=100){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i++;

}

int i = 100;

while(i>=1){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i--;

}

int i = 0;

while(i>=1){

System.out.println("进入while循环");

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i--;

}

System.out.println("---------分隔符-----------");

int j = 0;

do{

System.out.println("进入do while循环");

if(j%7 == 0 ){

System.out.println("j:"+j);

}

j--;

}while(j>=1);

int i = 100;

while(i>=1){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

i--;

}

for(int i = 100; i>=1 ; i--;){

if(i%7 == 0 ){

System.out.println("i:"+i);

}

}

*/

/*

*****

*****

*****

*****

*****

*/

/*for(int i = 0 ;i<5; i++){

for(int j = 0 ; j< 5;j++){

System.out.print("*");

}

System.out.println();

}*/


}


}



你可能感兴趣的:(java,流程控制,运算符)