学习笔记 Day3
变量定义格式
```### 格式 :
数据类型 变量名 = 初始化数据;
数据类型 :
明确当前变量可以保存的数据类型是什么
【数据类型一致化要求】
变量名 :
要求符合AJCG命名规范。见名知意,动宾结构
变量名是操作当前变量使用的一个名称,具有一定范围以内的唯一性。
变量名保持程序运行过程中,赋值给变量的数据
= :
赋值号 将赋值号右侧的数据,赋值给左侧的【变量】。
初始化数据 :
需要对应当前数据类型,赋值当前程序要求初始化数据。
/*
变量定义代码演示
*/
class Demo1 {
public static void main(String[] args) {
byte byteNumber = 10;
short shortNumber = 20;
int intNumber = 30;
long longNumber = 40L;
System.out.println (byteNumber );
System.out.println (shortNumber );
System.out.println (intNumber );
System.out.println (longNumber );
float floatNumber = 5.5F;
double doubleNumber = 3.14;
System.out.println (floatNumber );
System.out.println (doubleNumber );
char ch1 = 'A';
char ch2 = '为';
System.out.println (ch1 );
System.out.println (ch2 );
boolean ret1 = true;
boolean ret2 = false;
System.out.println (ret1 );
System.out.println (ret2 );
}
}
运算符
1、算数运算符
数学中
+ :
加 += : 加赋值
- :
减 -= :减赋值
\ :
除 /= :除赋值
* :
乘 *= :乘赋值
% :
取余 %= : 取余赋值
= :
赋值号
() :
括号
优先级问题 :
在运算过程中遇到,如果出现了优先级问题,简单厨宝加括号
/*
算数运算符演示
*/
class Demo2 {
public static void main(String[] args) {
int num1 = 20;
int num2 = 30;
num1 += 10;
num2 -= 20;
System.out.println("num1 : " + num1);
System.out.println("num1 : " + num2);
num1 /= 2;
num1 *= 2;
System.out.println("num1 : " + num1);
num1 = num1 + num2; // num1 = 50 num2 = 30
num1 = num1 * num2; // num1 = 1500 num2 = 30
num1 = num1 - num2; // num1 = 1470 num2 = 30
num1 = num1 / num2; // num1 = 49 num2 = 30
num1 = num1 % num2; // num1 = 19 num2 = 30
System.out.println("num1 : " + num1);
System.out.println("num1 : " + num2);
num1 %= 2;
System.out.println("num1 : " + num1);
}
}
2. 关系运算符
< > <= >= != ==
关系运算符判断表达式两边是否满足关系关系运算符要求,如果满足返回true,如果不满足返回false
/*
关系运算符演示
*/
class Demo3 {
public static void main(String[] args ){
boolean ret = 5 > 3;
System.out.println("ret : " + ret);
ret = 5 < 3;
System.out.println("ret : " + ret);
ret = 5 >= 5;
System.out.println("ret : " + ret);
ret = 5 < 10;
System.out.println("ret : " + ret);
ret = 5! = 5;
System.out.println("ret : " + ret);
ret = 5 == 5;
System.out.println("ret : " + ret);
}
}
3. 逻辑运算符
&& : 与
同真为真,有假为假
|| :或
同假为假,有真为真
! :非
原真则假,原假则真
/*
逻辑运算符演示
*/
class Demo4 {
public static void main(String[] args) {
boolean ret = 5 > 3 && 5 > 2;
System.out.println("ret : " + ret);
rte = 5 > 10 && 5 > 10;
System.out.println("ret : " + ret);
ret = 5 > 20 || 5 > 2;
System.out.println("ret : " + ret);
ret = 5 > 20 || 5 > 30;
System.out.println("ret : " + ret);
ret = !(5 < 3);
System.out.println("ret : " + ret);
ret = !(5 > 3);
System.out.println("ret : " + ret);
}
}
4. 短路原则
int num = 5;
boolean ret = 10 < 5 && ++num > 2;
ret = false
num = 5
逻辑与短路原则 :
10 < 5 && ++num > 2;
10 < 5 不成立,为false,当前争锋逻辑表达式结果已经明确为false。计算机为了节约系统资源,提供运行效率,从false条件开始,之后的表达式都不在运行。++num > 2是没有执行的,无效代码。
int num = 5;
boolean ret = 10 > 5 || ++num > 2;
ret = ture
num = 5
逻辑或短路原则 :
10 > 5 || ++ > 2;
10 > 5 成立,为ture,当前真个逻辑或表达式结果明确为true,从true条件开始,之后的内容不再执行。++num > 2没有执行,无效代码。
分支结构
if 分支结构
if (/* 判断条件 boolean */) {
// 语句体
}
/*
执行流程 :
当程序运行到if分支结构,首先判断if后面小括号的内容是否为true,如果为true,执行语句体,如果为false,执行大括号之后的语句
*/
/*
if 分支结构演示
*/
class Demo5 {
public static void main(String[] args) {
boolean ret = false;
if (ret) {
System.out.println("你好");
}
System.out.println("吃饭了没 ?");
}
}
if else 分支结构
if (/* 条件判断 boolean true or false */) {
//true 语句体
} else {
//false 语句体
}
/*
执行流程 :
当程序运行到 if else 分子结构,首先判断if之后小括号里面的内容结果情况,如果是true,执行if之后大括号true语句体里面的内容结果情况,如果是true,执行if之后大括号true语句体内容结果情况,如果是false,执行else之后大括号false语句体内容。
*/
class Demo6 {
public static void main (String[] args) {
boolean ret = false;
if (ret) {
// true语句体
System.out.println("中");
} else {
// false语句体
System.out.println("不中");
}
}
}
if else if 分支结构
if (/* 条件1 */) {
// 处理方式1
} else if (/* 条件2 */) {
// 处理方式2
} else if (/* 条件3 */) {
// 处理方式3
} else {
// 最终处理方法
}
/*
执行流程:
当程序运行到if else if分支结构,首先匹配 if 之后的条件,如果存在匹配项,执行对应的处理方式,结束分支结构。如果没有任何一个条件匹配,执行else中最终处理方式。
*/
/*
学生成绩等级划分
90 ~ 100 秀儿
80 ~ 89 良儿
70 ~ 79 中儿
60 ~ 69 过儿
60以下 渣儿~~ 让你爹穿着拖鞋来学校
*/
class Demo8 {
public static void main(String[] args) {
int score = 59;
if (score >= 90 && score <= 100) {
System.out.println("秀儿");
} else if (score >= 80) {
System.out.println("良儿");
} else if (score >= 70) {
System.out.println("中儿");
} else if (score >= 60) {
System.out.println("过儿");
} else {
System.out.println("让你爹穿着拖鞋来学校");
}
}
}
switch - case 分支结构
switch (/* 匹配数据 */) {
case 常量1:
处理方式1;
break;
case 常量2:
处理方式2;
break;
case 常量3:
处理方式3;
break;
default:
最终处理方式;
break;
}
/*
执行流程:
当前程序运行到switch case结构,首先获取switch 之后小括号里面的数据内容,根据数据内容匹配case选项,如果有对应的case出现,执行对应处理方式,通过break关键字跳出switch结构,如果没有任何一个case匹配,执行default操作。
AJCG规范中,default不建议省略。
*/
** switch case 使用注意事项 **
1. 在 switch case结构中,能够执行的代码,有且只能是case之后,或者default之后的内容
2. switch case结构中,不允许出现相同的case选择
3. case之后可以省略break,当前case选项执行过程中,需要明确的找到下一个break,跳出switch case结构
4. 允许多个case并列出现,同时执行同一个操作过程。
5. default可以省略,但是基于开发原则,不建议省略default操作。
/*
switch case演示
中药:
1. 枸杞
2. 陈皮
3. 菊花
4. 蒲公英
*/
import java.util.Scanner;
class Demo1 {
public static void main(String[] args) {
// 用于保存用户输入的选项
int choose = 0;
Scanner sc = new Scanner(System.in);
System.out.println("1. 枸杞 100/KG");
System.out.println("2. 陈皮 188/0.25KG");
System.out.println("3. 菊花 15/KG");
System.out.println("4. 蒲公英 200/KG");
System.out.println("请选择您要购买的药物:");
choose = sc.nextInt();
switch (choose) {
case 1:
System.out.println("人到中年不得已,保温杯里泡枸杞");
break;
case 2:
System.out.println("陈皮 糖~~~");
break;
case 3:
System.out.println("菊花 茶~~~");
break;
case 4:
System.out.println("蒲公英 ");
break;
default:
System.out.println("请输入正确的选项");
break;
}
}
}