学习笔记 Day3
变量定义格式
```### 格式 :
数据类型 变量名 = 初始化数据;
数据类型 :
明确当前变量可以保存的数据类型是什么
【数据类型一致化要求】
变量名 :
要求符合AJCG命名规范。见名知意,动宾结构
变量名是操作当前变量使用的一个名称,具有一定范围以内的唯一性。
变量名保持程序运行过程中,赋值给变量的数据
= :
赋值号 将赋值号右侧的数据,赋值给左侧的【变量】。
初始化数据 :
需要对应当前数据类型,赋值当前程序要求初始化数据。
class Demo1 {
public static void main ( String[ ] args) {
byte byteNumber = 10 ;
short shortNumber = 20 ;
int intNumber = 30 ;
long longNumber = 40 L;
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 = num1 * num2;
num1 = num1 - num2;
num1 = num1 / num2;
num1 = num1 % num2;
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,执行大括号之后的语句
*/
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) {
System. out. println ( "中" ) ;
} else {
System. out. println ( "不中" ) ;
}
}
}
if else if 分支结构
if (/* 条件1 */) {
// 处理方式1
} else if (/* 条件2 */) {
// 处理方式2
} else if (/* 条件3 */) {
// 处理方式3
} else {
// 最终处理方法
}
/*
执行流程:
当程序运行到if else if分支结构,首先匹配 if 之后的条件,如果存在匹配项,执行对应的处理方式,结束分支结构。如果没有任何一个条件匹配,执行else中最终处理方式。
*/
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操作。
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 ;
}
}
}