day04-课堂笔记
1、运算符【剩下的运算符】
* 赋值运算符
两种类型:
基本赋值运算符:=
扩展的赋值运算符:
+=
-=
*=
/=
%=
它们都是先执行等号右边的表达式,最后再经过运算赋值给左边
【注意】
表面上i=i+1;和i+=1;相同,实际上
如果
byte i=10;
i=i+1; //编译不通过,i+1为int型,i为byte型变量,需进行强制类型转换
i=(byte)(i+1); //编译通过
i+=1; //编译通过,等同于i=(byte)(i+1);而非i=i+1;【会损失精度】
【强制类型转换的类型以小容量的类型为基准】
【扩展赋值运算符不改变变量的数据类型,所以会出现强制类型转换】
* 字符串连接运算符
“+” 用作加法运算符或字符串连接符
*两边为数字时,进行加法运算
*两边只要有一个是字符串,就会进行字符串连接,结果为字符串
* 三目运算符/三元运算符/条件运算符
布尔表达式 ? 表达式1 : 表达式2
当布尔表达式的值为true时,表达式1的值作为整个运算的结果
反之,将表达式2的结果作为,整个运算的结果
该运算符不是一条完整语句,运算的结果应该有变量承担
比如,
boolean sex = false;
sex ? '男' : '女' ; //编译不通过,不是完整语句
char c=sex ? '男' : '女' ; //编译通过
System.out.println(c);
2、控制语句
*所有的控制语句都可以嵌套使用
* 选择结构
- if
第一种:
if(true/false){
java语句;
java语句;
......
java语句;
}
第二种:
if(true/false){
java语句;
......
java语句;
}else if{
java语句;
......
java语句;
}
第三种:
相较于第二种有多个else if
只要有一个执行成功,整个if语句结束
第四种:
第三种的最后是else没有了if
以上第一种和第四种方式,因为有else,所以在条件为真时,必有一个分支被执行
-if语句的分支若只有一个,则可以不用加{},格式:if(true/false) java语句;
记住以下代码:
第一步:
java.util.Scanner s = new java.util.Scanner(System.in);
第二步:
String str = s.next();
或
int num = s.nextInt();
【在需求较多,逻辑结果复杂时,可以先编写部分代码,编译且测试通过后,将编好的代码注释掉,继续编写下一部分代码,以此类推】
【例子】
/*
接收键盘输入,判断年龄
*/
public class IfTest02{
public static void main(String[] args){
//键盘接收
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入年龄:");
int age = s.nextInt();
String str = "老年";
if (age < 0 || age > 150)
{
str = "请输入合法年龄!";
}else if (age <= 12)
{
str = ("儿童");
}else if (age <= 18)
{
str = "青少年";
}else if (age <= 35)
{
str = "青年";
}else if (age <= 55)
{
str = "中年";
}
System.out.println(str);
}
}
【例子2】
/*
需求:
判断当前的天气
下雨
判断性别
男:用普通伞
女:用小花伞
晴天
温度
大于30
男:戴墨镜
女:戴帽子
用到嵌套
1表示雨天,男
0表示晴天,女
温度用数字
*/
public class IfTest03
{
public static void main(String[] args)
{
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入天气:");int weather = s.nextInt();
System.out.print("请输入性别:");
int sex = s.nextInt();
if (weather == 1)//如果下雨
{
if (sex == 1)//如果是男的
{
System.out.println("普通伞");
}else if (sex == 0)//如果女的
{
System.out.println("小花伞");
}else
System.out.println("性别不正确");
}
else if (weather == 0)//如果晴天
{
System.out.print("请输入温度:");
int tem = s.nextInt();
if (tem >= 30)
{
if (sex == 1)
{
System.out.println("戴墨镜");
}else if (sex == 0)
{
System.out.println("戴帽子");
}else
System.out.println("性别不正确");
}
}
}
}
-----部分源自B站动力节点教育集团