1.赋值运算符:包括两种:
基本的赋值运算符 =
扩展的赋值运算符 += -= *= /= %=
赋值类运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量
注意一下代码:
byte i=10;
i+=5;等同于 i=(byte)(i+5);
long x=10L;
int y=20;
y+=x;等同于 y=(int)(y+x);
重要结论:扩展类的赋值运算符不改变运算结果的类型,假设最初这个变量的类型
是byte类型,无论怎么进行追加或追减,最终该变量的数据类型还是byte类型
public class DateTypeTest06
{
public static void main(String[] args){
byte b=10;
b=b+5;
//编译报错,编译器检查语法,发现b+5的类型是int类型,b变量是byte类型,大容量向小容量
需要加强制类型转换符
//纠正
b=(byte)(b+5);
System.out.printIn(b);//15
byte x=10;
x+=5;//等同于x=(byte)(x+5);,其实不等于x=x+5
System.out.printIn(x);//15
}
{
2.字符串连接运算符:+
*+两边的数据都是是数字,则进行加法运算。
*当加号运算符两边的数据只要一个数据是字符串,一定会进行字符串的
连接运算,连接之后的类型是字符串
System.out.printIn(10+20);//求和
System.out.printIn(10+20+"30");//结果是字符串 3030,第一个+是求和,
第二个+是字符串连接
System.out.printIn(10+(20+"30"));//先进行括号里的,结果是102030
int a=10;
int b=20;
System.out.printIn("10+20="+a+b);//结果10+20=1020
System.out.printIn("10+20="+(10+20));//结果是10+20=30
System.out.printIn(a + "+" + b+ "="+ (a+b));
String username="zhangsan";
System.out.printIn("登陆成功,欢迎"+ usernae +"回来");
3.三元运算符(条件运算符)
语法规则:布尔表达式?表达式1:表达式2
执行原理:当布尔表达式的结果是ture,则表达式1作为整个表达式的执行结果
当布尔表达式的结果是false,则表达式2作为整个表达式的执行结果
public class DateTypeTest06
{
public static void main(String[] args){
boolean sex =false;
char c =sex ? '男':'女';//注意前面是char类型,不能用双引号
System.out.printIn(c);//女
}
}
4.控制语句:
*控制选择结构语句;if 、if else、switch 选择结构
*控制循环结构语句:for、while、do while 循环结构
*改变控制顺序:break、continue 控制循环结构
所有控制语句都是可以嵌套使用的,只要合理就行
if语句:四种编写方式
第一种 if(布尔表达式){
java语句;
java语句;
...
}
第二种 一定会执行
if(布尔表达式){
java语句;
java语句;
...
}else{
java语句;
java语句;
...
}
第三种 只要有一个分支执行。整个if语句全部结束
if(布尔表达式){
java语句;
...
}else if(){
java语句;
...
}else if(布尔表达式){
java语句;
...
}...
第四种:if、 else if都为假最后执行else 一定会执行
if(布尔表达式){
java语句;
...
}else if(布尔表达式){
java语句;
...
}else if(布尔表达式){
java语句;
...
}else(布尔表达式){
java语句;
...
}
注意:第二种和第四种带有else分支,保证100%执行
【if语句只要有一条语句,大括号可以不必使用】
代码;
public class IfTest01{
public static void main(String[] args){
double distance=1.0;
if(distance<5){
System.out.printIn("去km吃饭");
}
}
}
/*
System.out.printIn();负责向控制台输出【从内存到控制台,输出的过程,
这是从内存出来了】
接受用户键盘输入,从键盘到内存【熟路的过程,到内存中去】
/*
以下代码固定编写:
public class KeyIputTest
{
public static void main(String[] args){
//第一步:创建键盘扫描对象
java.util.Scanner s=new java.util.Scanner(System.in);
//第二步:调用Scanner对象的next()方法开始键盘输入
//程序执行到这里会停下来,等待用户的输入
//当用户输入的时候,并且最终敲回车的时候,输入的信息会最终自动赋
值给userInputContent
//程序执行到这里,用户输入的信息已经到内存中了
//接收文本【以字符串的形式接收】
String userInputContent=s.next();//闪动的输入标志
//接收数字【以整数型int的形式来接收】
int num = s.nextInt();//闪动的输入标志
//将内存中的数据输出到控制台
System.out.printIn("您输入了:"+userInputContent);
System.out.printIn("您输入的数字是:"+num);
System.out.printIn("计算结果:"+(num+100));
}
}
例:
假设给定一个人的年龄(这个年龄从键盘输入),根据年龄判断这个人数与哪个阶段?
public class KeyIputTest02
{
public static void main(String[] args){
//接收盘输入:年龄
java.util.Scanner s=new java.util.Scanner(System.in);
System.out.printIn("请输入您的年龄:");//输出提示信息,要不然用户不知道要干嘛
int age = s.nextInt();//停下来等待用户输入,输入之后自动接收,并赋值给age变量
String str="老年";
if(age<0 || age>150){
str="您输入的年龄不合法,年龄需要在0-150"
}else if(age<=5){
str="幼儿"
}else if(age<=10){
str="少年"
}else if(age<=18){
str="青少年"
}else if(age<=35){
str="青年"
}else if(age<=55){
str="中年"
}
System.out.printIn("您处于生命周期" + str + "阶段")
}
}
例子:
判断当前天气:
当外边下雨时:
判断性别:
当性别为男,带一把大黑伞
当性别为女,带一把大花伞
当外边晴天时:
判断温度:
当温度在30度以上:
当性别为男,戴墨镜
当性别为女,擦防晒霜
if嵌套:
public class KeyIputTest02
{
public static void main(String[] args){
java.util.Scanner s=new java.util.Scanner(System.in);
System.out.printIn("欢迎使用本系统");
System.out.printIn("说明1: 1表示下雨,0表示晴天");
System.out.printIn("说明2: 1表示男,0表示女");
System.out.printIn("说明3: 温度是数字");
//接收性别
System.out.printIn("请输入性别:");
int sex = s.nextIn();
//接收天气状况
System.out.print("请输入天气状况:");
int weather = s.nextInt();
//判断天气状况
if(weather==1){
System.out.printIn("下雨天"); if(sex==1){
System.out.printIn("带一把大黑伞");
}else if(sex==0){
System.out.printIn("带一把大花伞");
}else{
System.out.printIn("你的性别怎么回事");
} }else if(weather==0){
System.out.printIn("晴天");
//接收温度
System.out.printIn("请输入当前温度");
int tem =s.nextInt();
if(tem>30){
if(sex==1){
System.out.printIn("戴墨镜");
}else if(sex==0){
System.out.printIn("擦防晒霜");
}else{
System.out.printIn("你的性别怎么回事");
}
}
}else{
System.out.printIn("你输入天气状况不存在");
}
}
}