day03运算符和表达式,分支结构(上)

回顾:
1.变量:存数的
int a; int b,c,d;
int a = 5; int a; a = 5;
int b = a+10; System.out.println(b); //15
a = a+10;
2.八种基本数据类型:byte,short,int,long,float,double,boolean,char
1)int:整型,4个,5,25,250…
2)long:长整型,8个,5L,1000000000000000L…
3)double:浮点型,8个,3.14,25.678,45.0…
4)boolean:布尔型,1个,true,false
5)char:字符型,2个,‘你’,‘d’,‘2’,’*’,’’’…
3.数据类型间的转换:
1)两种方式:
1.1)自动/隐式类型转换:小到大
1.2)强制类型转换:大到小 (要转换成为的数据类型)变量
强转有可能溢出或丢失精度
2)两点规则:
short s1 = 5;
short s2 = 6;
short s3 = (short)(s1+s2);

正课:
1.运算符:
1)算术运算符:+,-,/,%,++,–
2)关系运算符:>,<,>=,<=,==,!=
3)逻辑运算符:&&,||,!
4)赋值运算符:=,+=,-=,=,/=,%=
5)字符串连接运算符:+
6)条件/三目运算符:boolean?数1:数2
2.分支结构:基于条件执行某语句
1)if结构: 1条路
2)if…else结构: 2条路

if(boolean){
语句块
}

boolean flag = true;
if(flag){
}

int a = 5;
if(a>2){
}

int a = 5;
if(a>2 && a<10){
}

满500打8折,不满500不打折--------------if
满500打8折,不满500打9折---------------if…else

满足条件就干事,不满足条件就不干事--------------if
满足条件就干事,不满足条件干另一件事------------if…else

任何复杂的程序逻辑都可以通过三种结构来实现:
1)顺序结构:从上往下逐行执行,每句必走
2)分支结构:有条件的执行某语句,并非每句必走
3)循环结构:

打8折----------------基于条件执行的
减100----------------基于条件执行的

满500打8折
满199减100

char:字符型,单引号中,只能有1个
String:字符串型,双引号中,0个到多个

“”
“女”
“hello”
“djfl;skdajf;ladfkjas;lfdkja;lsfdk”

System.out.println(“helloworld”);

API-----------第一天讲String

字符串有同化作用--------任何数据与字符串一连,结果都是字符串类型了

三个条件,是并且的关系

性别为男+第2条件+第3条件

! false true
下雨了? true false

能否结账? true true true false
1)有现金吗? true false true false
或者—||
2)有微信吗? false true true false

能否毕业? false false false true
1)考试及格吗? true false false true
并且—&&
2)出勤率够80%吗? false true false true

若想干某件事是由一个条件控制的------------------关系运算符
成绩>=60

若想干某件事是由多个条件控制的------------------逻辑运算符
成绩>=60 并且 出勤率>=80%

boolean
A的年龄大于B的年龄------------------对/错
>,<
A的体重小于或等于B的体重------------对/错
<=,>=
A的身高等于B的身高------------------对/错
==,!=

1.算术运算符: +,-,,/,%,++,–
* 1)%:取模/取余,余数为0即为整除
* /

System.out.println(5%2); //1,商2余1
System.out.println(8%2); //0,商4余0--------整除
System.out.println(2%8); //2,商0余2
/
* 2)++/–:自增1/自减1,可在变量前也可在变量后
* 2.1)单独使用时,在前在后都一样
++ /自增
/*
int a=5,b=5;
a++; //相当于a=a+1
++b; //相当于b=b+1
System.out.println(a); //6
System.out.println(b); //6
/
–/自减
/

int a=5,b=5;
a–; //相当于a=a-1
–b; //相当于b=b-1
System.out.println(a); //4
System.out.println(b); //4
*/

	 *     2.2)被使用时,在前在后不一样
	 *           a++的值为a---------(a--的值为a)
	 *           ++a的值为a+1-------(--a的值为a-1)
	 */

int a=5,b=5;
//1)将a++的值5赋值给c
//2)a自增1变为6
int c = a++;
//1)将++b的值6赋值给d
//2)b自增1变为6
int d = ++b;
System.out.println(a); //6
System.out.println(b); //6
System.out.println©; //5
System.out.println(d); //6
*/
int a=5,b=5;
int c = a–;
int d = --b;
System.out.println(a); //4
System.out.println(b); //4
System.out.println©; //5
System.out.println(d); //4
*/
2.关系运算符:
* 1)>(大于),<(小于)
* >=(大于或等于),<=(小于或等于)
* ==(等于),!=(不等于)
* 2)关系运算的结果为boolean型
* 关系成立则为true,关系不成立则为false
*/

	/*
	int a=5,b=10,c=5;
	boolean b1 = a>b;
	System.out.println(b1);   //false
	System.out.println(c<b);  //true
	System.out.println(a>=c); //true
	System.out.println(a<=b); //true
	System.out.println(a==c); //true
	System.out.println(a!=c); //false
	
	System.out.println(a+c>b);  //false
	System.out.println(a%2==0); //false
	System.out.println(a++>c);  //false----同时a自增1变为6
	System.out.println(a++>c);  //true
	*/

3.逻辑运算符:
* 1)&&:短路与(并且),两边都为真则为真,见false则false
* ----当第1个数为false时,则发生短路(后面的不执行了)
* ||:短路或(或者),有真则为真,见true则true
* ----当第1个数为true时,则发生短路(后面的不执行了)
* !:逻辑非(取反),非真则假,非假则真
* 2)逻辑运算是建立在关系运算的基础之上的
* 逻辑运算的结果也是boolean型
/
/

int a=5,b=10,c=5;
boolean b1 = b>=a && c>b;
System.out.println(b1); //true&&false=false
System.out.println(b<=c && b>a); //false&&true=false
System.out.println(a==b && b<c); //false&&false=false
System.out.println(a!=b && c<b); //true&&true=true

	System.out.println(b>=a || c>b); //true||false=true
	System.out.println(b<=c || b>a); //false||true=true
	System.out.println(a!=b || c<b); //true||true=true
	System.out.println(a==b || b<c); //false||false=false
	
	boolean b2 = !(a>b);
	System.out.println(b2);     //!false=true
	System.out.println(!(a<b)); //!true=false
	
	boolean b3 = a>b && c++>2;
	System.out.println(b3); //false
	System.out.println(c);  //5,发生短路了
	
	boolean b4 = a<b || c++>2;
	System.out.println(b4); //true
	System.out.println(c);  //5,发生短路了
	*/

/*
* 4.赋值运算符:
* 1)简单赋值运算符:=
* 2)扩展赋值运算符:+=,-=,*=,/=,%=
* ----自带强转功能
/
/

int a = 5;
a += 10; //相当于a=(int)(a+10)
System.out.println(a); //15
a = 2; //相当于a=a2
System.out.println(a); //30
a /= 6; //相当于a=a/6
System.out.println(a); //5

	//面试题:
	short s = 5;
	s += 10; //正确,相当于s=(short)(s+10)
	//s = s+10; //编译错误,需强转
	*/

/*
* 5.字符串连接运算符:
* 1)+:
* 1.1)若两边为数字,则做加法运算
* 1.2)若两边出现了字符串,则做字符串连接
*/

	int age = 37;
	System.out.println("age="); //age=
	System.out.println(age);    //37
	System.out.println("age="+age); //age=37
	System.out.println("我的年龄是"+age); //我的年龄是37
	System.out.println("我今年"+age+"岁了"); //我今年37岁了
	
	String name = "WKJ";
	System.out.println("大家好,我叫"+name); //大家好,我叫WKJ
	System.out.println("大家好,我叫"+name+",今年"+age+"岁了"); //大家好,我叫WKJ,今年37岁了
	
	System.out.println(10+20+""+30); //3030------String
	System.out.println(""+10+20+30); //102030----String
	System.out.println(10+20+30+""); //60--------String

/*
	 * 6.条件/三目运算符:
	 *   1)语法:
	 *       boolean?数1:数2
	 *   2)执行过程:
	 *     ----整个表达式的值要么是?号后的数1,要么是:号后的数2
	 *     ----到底值为谁,看前面的boolean
	 *     判断boolean的值:
	 *       若为true,则整个表达式的值为?号后的数1
	 *       若为false,则整个表达式的值为:号后的数2
	 */
	/*
	int num = 0;
	int flag = num>0?1:-1;
	System.out.println(flag); //-1
	
	int a=8,b=5;
	int max = a>b?a:b;
	System.out.println(max); //8
	*/

2.分支结构:基于条件执行某语句
1)if结构: 1条路
* 1)语法:
* if(boolean){
* 语句块
* }
* 2)执行过程:
* 判断boolean的值:
* 若为true,则执行语句块(整个结束)
* 若为false,则直接结束
*/
//1)偶数的判断:
int num = 6; //6, 5
if(num%2==0) {
System.out.println(num+“是偶数”);
}
System.out.println(“over”);

	//2)满500打8折,不满500不打折
	double price = 600.0; //消费金额  600.0, 300.0
	if(price>=500) { //满500
		price *= 0.8; //打8折
	}
	System.out.println("最终消费金额为:"+price);

2)if…else结构: 2条路
1)语法:
* if(boolean){
* 语句块1
* }else{
* 语句块2
* }
* 2)执行过程:
* 判断boolean的值:
* 若为true,则执行语句块1(整个结束)
* 若为false,则执行语句块2(整个结束)
* 3)结论:
* 语句块1和语句块2,必走其中之一
*/
//问:语句块1和语句块2,有可能同时执行吗?---------不可能
//问:语句块1和语句块2,有可能同时都不执行吗?-----不可能

}

}
//1)偶数、奇数的判断:
int num = 5; //6, 5
if(num%2==0) {
System.out.println(num+“是偶数”);
}else {
System.out.println(num+“是奇数”);
}
System.out.println(“over”); //晚上7点开始晚课

	//2)满500打8折,不满500打9折
	double price = 300.0; //消费金额  600.0, 300.0
	if(price>=500) { //满500
		price *= 0.8; //打8折
	}else { //不满500
		price *= 0.9; //打9折
	}
	System.out.println("最终消费金额为:"+price);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值