Day 02
Java基础语法
1 .运算符
运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式
例如:int a = 10; int b = 20; int c = a + b; +就叫做运算符 a + b就叫表达式
1.1.算数运算符
符号 | 作用 | 说明 |
---|---|---|
+ | 加 | 数学- |
- | 减 | 数学+ |
* | 乘 | 数学* |
/ | 除 | 取的是商 |
% | 取余 | 取的是余数 |
练习:需求:定义一个三位数,将其拆分为个位、十位、百位后,输出在控制台举例:int number = 123;在控制台输出结果:个位是:3十位是:2百位是:1
需求:定义一个三位数,将其拆分为个位、十位、百位后,输出在控制台
分析:
① 个位的计算:数值 % 10123 除以 10(商12,余数为3)
② 十位的计算:数值 / 10 % 10123 除以 10 (商12,余数为3,整数相除只能得到整数)12 除以 10 (商1,余数为2)
③ 百位的计算:数值 / 10 / 10 % 10123 / 10 / 10 % 10(123 / 10 得到12,12 / 10 得到1,1 % 10 得到 1)
1.1.1+操作的三种情况
1.数值相加=>隐式数据类型转化
隐式转换把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量
强制转换把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
格式:数据类型 变量名 = (目标数据类型)(数值或者变量)
2.字符串相加
拿字符在计算机底层对应的数值来进行计算的
当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算
“zhongguo”+ 666
当连续进行“+”操作时,从左到右逐个执行
1 + 9999 + “岁zhongguo”
3.字符相加【得到新的ASCII码值】
拿字符在计算机底层对应的数值来进行计算的
‘A’ 65 A-Z是连续的
‘a’ 97 a-z是连续的
‘0’ 48 0-9是连续的
延伸:
符号 | 作用 | 说明 |
---|---|---|
++ | 加1操作 | 加加在前先加加再计算,加加在后先计算再加加 |
– | 减1操作 | 减减在前先减减再计算,减减在后先计算再减减 |
关于++/--在前在后的说明,当++/--在前面的时候会先执行++或者--的操作然后再调用int的值;当++/--在后面的时候会先调用int的值然后再进行++或者--的操作
1.2.赋值运算符
符号 | 作用 | 说明 |
---|---|---|
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | a+=b,将a+b的结果赋值给a |
-= | 减后赋值 | a-=b,将a-b的结果赋值给a |
*= | 乘后赋值 | a*=b,将a*b的结果赋值给a |
/= | 除后赋值 | a/=b,将a/b的结果赋值给a |
%= | 取余后赋值 | a%=b,将a%b的结果赋值给a |
赋值运算符隐含了强制类型转换
赋值运算符用于更加快速的书写代码【循环中】
1.3.关系运算符
符号 | 作用 | 说明 |
---|---|---|
== | 等于 | a==b,判断a和b的值是否相等,成立为true,不成立为false |
!= | 不等于 | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
> | 大于 | a>b,判断a是否大于b,成立为true,不成立为false |
>= | 大于等于 | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | 小于 | a<b,判断a是否小于b,成立为true,不成立为false |
<= | 小于等于 | a<=b,判断a是否小于等于b,成立为true,不成立为false |
关系运算符的结果都是boolean类型,要么是true,要么是false
千万不要把“==”写成了“=”
一般用在判断里面
1.4.逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
& | 与 | a&b ,同真则真,一假则假 |
&& | 逻辑与 | a&&b ,同真则真,一假则假【第一个值为假则不会往后再去判断】 |
| | 或 | a|b ,一真则真,全假则假 |
|| | 逻辑或 | a||b,一真则真,全假则假【第一个值如果是真则不会往后再去判断】 |
! | 非 | 取反 |
1.3.三元运算符
符号 | 作用 | 说明 |
---|---|---|
表达式?a:b | 三元运算符 | 如果表达式成立则返回值a,如果不成立则返回值b |
运算规则:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false,表达式2的值就是运算结果
2.流程控制语句
a.顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行
b.选择结构
if语句
语法:if(判断条件){执行语句;}if(判断条件){执行语句;}else{执行语句;}if(判断条件){执行语句;}else if(判断条件){执行语句;}else{执行语句;}...
练习:1.给定一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数2.张三想买一台7988元的新手机,他的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新优惠,把他旧手机交给店家,新手机就能 够打8折优惠。为了更省钱,要不要以旧换新?请通过程序告诉张三3.给出你的年龄,通过程序判断你是否属于青年人?【0-17未成年 18-65青年人 66-79中年 80-99老年人 100以上长寿老人】
switch语句
语法:switch 变量:case 值:语句;break;case 值:语句;break;...default:语句;break;
c.循环结构
for循环
语法:for(循环变量初始化;循环条件判断;循环变量修改){执行语句;}
案例:1.在控制台输出1-5的数据2.思考实现在控制台输出5-1的数据3.求1-5之间的数据之和4.求1-100之间的偶数和5.在控制台输出100-999中所有的水仙花数6.打印直角三角形7.打印等腰直角三角形
while循环
语法:while(循环条件判断){循环语句;循环条件变化;}
练习:用while求1-100之间的偶数和,并把求和结果在控制台输出
do while循环
语法:do{循环语句;循环条件变化;}while(循环条件判断)
练习:用do..while求1-100之间的偶数和,并把求和结果在控制台输出
三种循环语句的区别
三种循环语句的区别for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)for和while的区别条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不可以继续使用了条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,还可以继续使用死循环格式for(;;){}while(true) {}do{}while(true);
d.跳出控制语句
continue:结束本次循环 后面的循环还会继续
break:终止循环