java学习第二天
1.运算符
1.算术运算符
2.赋值运算符
3.关系运算符
4.逻辑运算符
5.三元运算符(三目运算符)
1.算术运算符
总结:
1.分类:
+ - * / %(取模) ++ --
2.算术运算符取余和出发的区别
*除法: 两个整数相除得到的结果是商
*取余:两个整数相除得到的结果是余数
3.字符的"+"操作
*字符是如何进行参与运算?
字符参与运算的是,拿着底层的ASCII码表中的数值是多少,来进行计算
'a' --> 97
'A' --> 65
'0' --> 48
'b'+100; --> 98 + 100 --> 198
4.字符串的"+"操作
int a = 10;
int b = 20;
int sum = a+b;
System.out.println(sum);
2.赋值运算符(应用)
>>* 1 赋值运算符有哪些?
>* 2 扩展运算符?
总结:
1.赋值运算符分类:
= (不叫等号 ,是赋值符号)
2.扩展运算符:
+= -= *= /= %=
运算的规则:
将两边的数值进行运算,将结果赋值给左边的变量
扩展运算符具有强制类型转换的作用
int a = 10;
// a = a + 100;
// 将上面的操作可以转换为下面的写法:
a += 100;
+= 左边必须要的是一个变量
3.自增自减运算符
总结:
* 单独使用(重点掌握) 循环
++ -- 不管在前还是在后,结果都是一样的
int a = 10;
a ++;
++a;
* 参与操作使用
* ++ -- 在前的时候,先自增或自减,然后在参与运算
* ++ -- 在后的时候,先参与运算,然后在自增或自减
int a = 10;
int b = a++ +10;
int d = ++a+10;
4.关系运算符(比较运算符)
>* 1 关系运算符有哪些?
>* 2 关系运算符的得到的结果是什么数据类型?
>* 3 =和==的区别?
总结:
1.关系运算符分类:
> >= < <= == !=
2.关系运算符的得到的结果是什么数据类型?
boolean
3.=和==的区别?
* = : 赋值运算符 将右边的值赋值给左边的变量 int a = 10;
*== :
* 如果比较的是基本数据类型,比较的是具体的数值是否相等
10 == 20
* 如果比较的是引用数据类型,比较的是地址值是否相等(了解)
05.逻辑运算符
1 逻辑运算符有哪些(了解)
总结
1.逻辑运算符分类
& | ^ !
2.逻辑运算符的运算规则
& : 有false则为false
| : 有true则为true
^ : 相同则为false 不同则为true
! : 非false 则为true 非true则为false
##06.短路逻辑运算符(应用)
总结:
1.短路逻辑运算符分类
&& ||
2.短路逻辑运算符的特点
&&:
&& 与 & 结果是相同的,只不过是&& 具有短路的效果
当左边为false的时候,右边就不会在执行了
||:
|| 与 | 结果是相同的,只不过是|| 具有短路的效果
当左边为true的时候,右边就不会在执行了
##07.三元运算符(三目运算符)
>* 1 格式:
>* 2 执行流程:
总结:
1. 格式:
数据类型 变量名 = 关系表达式 ? 表达式1 : 表达式2;
2. 执行流程:
* 计算关系表达式的值,是true还是false
* 如果是true 表达式1作为结果
* 如果是false 表达式2作为结果
数据输入
8. Scanner概述及使用步骤
>* Scanner类的作用是什么?
>* 引用数据类型的一般使用步骤?
总结:
1. Scanner 类的作用是什么?
使数据更为灵活
2.引用数据类型的一般使用步骤?
* 导包
import java.util.Scanner;
* 创建Scanner对象
Scanner sc = new Scanner(System.in);
数据类型 变量名 = 值;
* 接收数据
int num = sc.nextInt();
流程控制语句(
9.流程控制语句分类
总结:
* 顺序结构
* 选择结构
if switch
* 循环结构
for while do...while
##10.顺序结构
总结:
顺序结构执行流程?
从上往下依次执行
##11.单if语句
总结:
* 格式:
if (关系表达式) {
语句体;
}
* 执行流程:
* 判断关系表达式的值是true还是false
* 如果是true就执行语句体
* 如果是false什么都不执行了
继续往下执行后面的代码
* 注意事项:
单if语句只能是判断一种情况,判断不了两种情况
public class IfDemo01{
public static void main(String[] args){
System.out.println("今天天气比较凉快,出去散步,突然发现一个快乐的地方:足疗店");
// 定义变量 假设我自己的钱
int money = 600;
if(money >= 998){
System.out.println("进去开始嗨....");
}
System.out.println("回家自嗨..");
}
}
##12.if...else
总结:
* 格式:
if (关系表达式) {
语句体1;
}else{
语句体2;
}
* 执行流程:
* 判断关系表达式的值是true还是false
* 如果是true就执行语句体1
* 如果是false就执行语句体2
* 注意事项:
if...else 只能判断两种情况,如果有多种情况是判断不了的
public class IfDemo02{
public static void main(String[] args){
System.out.println("今天天气比较凉快,出去散步,突然发现一个快乐的地方:足疗店");
// 定义变量 假设我自己的钱
int money = 6000;
if(money >= 998){
System.out.println("进去开始嗨....");
}else{
System.out.println("亲,足疗SPA了解一下....");
}
System.out.println("回家自嗨..");
}
}
13.奇偶数
需求:任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,
并在控制台输出该整数是奇数还是偶数。
思路:
①为了体现任意给出一个整数,采用键盘录入一个数据
②判断整数是偶数还是奇数要分两种情况进行判断,使用if..else结构
③判断是否偶数需要使用取余运算符实现该功能 number % 2 == 0
④根据判定情况,在控制台输出对应的内容
public class IfDemo03{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
if(num % 2 == 0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
}
}
14.if...else...if 结构
总结:
* 格式:
if (关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
...
else{
语句体n+1;
}
* 执行流程:
* 首先执行关系表达式1
* 如果为true 执行语句体1,如果为false就判断关系表达式2
* 如果为true 执行语句体2,如果为false就判断下一个关系表达式
....
如果以上条件都不满足,就会执行else中的语句体n+1
public static void main(String[] args) {
int week = 1;
if (week == 1) {
System.out.println("星期一");
}else if (week == 2) {
System.out.println("星期二");
}
....
else if(week == 7) {
System.out.println("星期日");
}else {
System.out.println("输入的数据有误!");
}
}
15.案例
* 需求:小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩送他不同的礼物,
假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。
* 分析:
奖励:
95~100 山地自行车一辆
90~94 游乐场玩一次
80~89 变形金刚玩具一个
80以下 胖揍一顿
分析:
* 小明的考试成绩未知,可以使用键盘录入的方式获取值
* 由于奖励种类较多,属于多种判断,采用if...else...if格式实现
* 为每种判断设置对应的条件
* 为每种判断设置对应的奖励
public class IfTest02 {
public static void main(String[] args) {
//小明的考试成绩未知,可以使用键盘录入的方式获取值
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个分数:");
int score = sc.nextInt();
//由于奖励种类较多,属于多种判断,采用if...else...if格式实现
//为每种判断设置对应的条件
//为每种判断设置对应的奖励
/*
if(score>=95 && score<=100) {
System.out.println("山地自行车一辆");
} else if(score>=90 && score<=94) {
System.out.println("游乐场玩一次");
} else if(score>=80 && score<=89) {
System.out.println("变形金刚玩具一个");
} else {
System.out.println("胖揍一顿");
}
// 数据测试:正确数据,边界数据,错误数据
// 我们给出的正确的范围是在 [0,100]
// 小于最小的 大于最大的,都是非法值
if(score>100 || score<0) {
System.out.println("你输入的分数有误");
} else if(score>=95 && score<=100) {
System.out.println("山地自行车一辆");
} else if(score>=90 && score<=94) {
System.out.println("游乐场玩一次");
} else if(score>=80 && score<=89) {
System.out.println("变形金刚玩具一个");
} else {
System.out.println("胖揍一顿");
}
*/
if(score>=95 && score<=100) {
System.out.println("山地自行车一辆");
} else if(score>=90 && score<=94) {
System.out.println("游乐场玩一次");
} else if(score>=80 && score<=89) {
System.out.println("变形金刚玩具一个");
} else if(score>=0 && score<=79) {
System.out.println("胖揍一顿");
}else{
System.out.println("你输入的分数有误");
}
}
}