一、输入语句(牢记三步走)
1.导入包 import java.util.Scanner;
2.创建对象 Scanner sc =new Scanner(System.in);
3.引用对象定义输入变量 int a=sc.nextInt();
二、类型转换
类型转换是一个针对值的转换(整数、小数、字符);布尔类型和字符串类型不能转换。
数据由小到大的范围:byte<short(char)<int<long<float<double .
1.自动类型转换 小-->大
把一个表示数据范围小的值或者变量赋值给另一个表示数据范围大的变量。
2.强制类型转换 大-->小
把一个表示数据范围大的值或者变量赋值给另一个表示数据范围小的变量。
格式:小的数据类型 变量名 =(小的数据类型)值或者大的数据变量。
例:int a =(int) 3.3; 强转可能会丢失精确度
三、各类运算符
算术运算符: +加、-减、* 乘、/除 %取余
注意事项:
1.整数的计算还是整数,如果想要结果出现小数则需要有小数参与运算。
2.byte、short、char在运算时会自动提示为int类型。
3.混合运算中,仍然是先乘除、后加减。可使用()改变运算顺序
4.浮点数是一个不精确的数,计算的结果也是不精确的
四、+ (加法、连接符)
1.正常作为+ 加法使用。
2.作连接符使用
任意数据类型的数据和字符串相加,结果还是一个字符串(字符串连接拼接作用)
注:字符串只能加的操作,不能进行 - * / %的运算。
注:作连接符使用时,如果前面已经有字符串了,后面有两个数字相加,并不是两数相加的结果。
如:System.out.println(6+4"牛皮"+6+6+6); 输出后的结果为:10牛皮666
五、赋值、自增、自减运算符
赋值运算符: =基本的赋值运算符:把等号右边的值,赋值给等号左边的变量
扩展赋值运算符:+=加等 -=减等 *=乘等 /=除等 %=取余等
先把等号左右两边的数进行+,-,*,/,%,在把结果赋值给左边的变量
注意: 扩展的赋值运算符中包含了隐含的强制类型转换
自增自减运算符
++:自增,本身+1
--:自减,本身-1
注意:
1.++,--自己单独参与计算,++,--写在变量的前边和后边的结果是一样的
2.++,--进行混合运算
++,--写在变量的前边,先把变量进行自增或者自减,在使用改变后的值参与计算
++,--写在变量的后边,先使用变量原来的值进行计算,计算结果后,在把变量的值自增或者自减
六、关系运算符
关系(比较)运算符:
==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于
关系运算符的结果是一个布尔值
注意事项: 等于号是== ,千万不要把== 写成 =
短路与和短路或
&&:短路与
| |:短路或
&&和||和&和|的运算结果是一样的
短路: false&&:符号左边是false,则不在执行右边,可以直接确定结果
| |:符号左边是true,,则不在执行右边,可以直接确定结果
七、逻辑运算符
作用:用于连接布尔表达式
布尔表达式:表达式的结果是一个布尔值 (100+20)-30<50 false
&: 与运算符:有false则false true&true==>true false& true true&false==>false false& false==>false
| (回车上边shift+\):或运算符:有true则true false| true true|false==>true falseIfalse==>false
!: 取反:非真则假,非假则真 !true==>false !false==>true
八、三元运算符
一元运算符:1个数参与计算 ++a --b
二元运算符:2个数参与计算 a+b a>b a && b
三元运算符:3个数参与计算
作用: 用于获取两个数中的最大值,最小值,比较两个数的大小...
格式: 关系表达式? 表达式1:表达式2;
执行的流程:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false, 表达式2的值就是运算结果
注意:
1.三元运算符的结果就是一个值,这个值必须被使用,要么输出,要么赋值给一个变量接收
2.三元运算符中表达式可以是任意数据类型的值(基本:4类8种,引用数据类型)
九、流程控制语句(if)
1. if语句的第一种格式
格式:
if(布尔表达式)
{
语句体:(多行代码)
}
执行流程: 执行流程:对布尔表达式进行判断
如果布尔表达式结果为true,则执行大括号内的语句体
如果布尔表达式结果为false,则不执行大括号内的语句体
2. if语句的第二种格式: 一定会有一个执行的结果
if(布尔表达式)
{
语句体1;
}
else {
语句体2;
}
执行流程:对布尔表达式进行判断
如果布尔表达式结果为true,则执行语句体1
如果布尔表达式结果为false,则执行语句体2
if:如果
else:否则
3. if语句的第三种格式:用于多条件判断
if(条件1)
{
语句体1;
}else if(条件2)
{
语句体2;
}else if(条件3)
{
语句体3;
}
...
else if(条件n)
{
语句体n;
}else
{
语句体n+1;
}
执行流程: 哪个条件成立,执行哪个条件中的语句体
所有条件都不成立,执行else中的语句体
其中第一种格式最常用。
附一个今日学习综合小案例;
package com.itheima.demo06Test;
import java.util.Scanner;
/*
考试奖励综合案例
需求:小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,
假如你可以控制小明的得分,请用程序实现以下分数判断,并在控制台输出
95~100 :山地自行车一辆
90~94 :游乐场玩一次
80~89 :变形金刚玩具一个
0~79 :揍一顿
*/
public class Demo04Test {
public static void main(String[] args) {
//使用Scanner获取小明的分数
Scanner sc = new Scanner(System.in);
System.out.println("请输入小明的分数:");
int score = sc.nextInt();
//使用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 if(score>=0 && score<=79){
System.out.println("奖励揍一顿");
}else{
System.out.println("您输入的分数有误!");
}
}
}
今日结束,明天继续加油!