复习
1变量
1)什么是变量
java中的变量就是变化数值的载体
2)变量的声明
int x;
3)变量的初始化
x=35;
int x=35;
4)变量的使用
4.1)输出
System.out.println(x);
4.2)计算
int y=x+5;
x=x-10;
5)注意事项
5.1)不能重复声明
5.2)赋值类型匹配
5.3)先声明再赋值再使用
5.4)一行语句能声明多个变量
变量的命名
1)规则
1.1)字母数字_$
不能以数字开头
1.2)区分大小写
1.3)不能有其他特殊字符包括空格
1.4)不能是关键字
2)规范
2.1)使用英文字符
2.2)使用有含义的单词
2.3)如果一个变量名由多个单词组成
遵循"驼峰命名法"
2.4)见名知意
基本数据类型
4个整数2个小数2个非数
1)byte 1字节
2)short 2字节
3)int 4字节
4)long 8字节
5)float 4字节
6)double 8字节
7)char 2字节
8)boolean 1字节
直接量(字面量)
整数是int
小数double
long类型数据加l或L
float类型数据加f或F
溢出
计算结果超出了类型的最大值
返回了最小值
舍入误差
浮点型数据计算时出现的不精确
时间偏移量
1970-1-1零点,
到此时此刻经过的毫秒数
数据类型转换
1)自动类型转换(隐式类型转换)
不同类型数据计算
将小转大 得大
小 大
byte short int long float double
char
2)强制类型转换(显式类型转换)
double d=10.6;
int i=(int)d;
可能发生精度丢失或溢出
笔记
1运算符和表达式
1)表达式
数据和符号的组合
表达式就是数学中的算式
2)算数运算符
-
-
- / %
2.1)除数不能是0
否则发生异常
2.2)java中也是先乘除后加减
相同级别的运算符,
从左向右运算
2.3)要想改变优先级
使用()
而且()可以嵌套使用
2.4)%取余,求模
1.判断是否能整除
2.取出一个数字的某一位
数和数算得数
- / %
-
3)关系运算符
< >= <= == !=
3.1)关系运算符
是判断一个数值和另一个数值
大小关系的,
运算的结果是boolean类型
数和数算得真假
4)逻辑运算符
&&(与) ||(或) !(非)
&&:两边同时为真,结果才为真
||:两边有一边为真,结果就为真
小明考试成绩
数学高于90并且
语文高于80
就能获得奖励
小明考试成绩
数学成绩高于95分参加数学竞赛
语文成绩高于88分参加语文竞赛
判断小明能不能参赛
数值1 数值2 && ||
true true true true
true false false true
false true false true
false false false false
!(非)
将真变假
将假变真
真假和真假算得真假
5)赋值运算符
int x=5;
int y=10;
x=y;//将y的值赋给x
将=右边的值赋给=左边的变量
复合赋值运算符
+= -= *= /= %=
功能就是在当前变量的基础上进行
运算后,再赋给这个变量
PS:复合赋值运算符中隐含着强转
int x=10;
x+=5;//x=(int)(x+5);
6)字符串连接符
+
将字符串(""里的内容)
和变量连接起来
方便输出程序中的变量的值
7)自增自减运算符
++ –
int x=0;
x++;//x自增1
int y=10;
y–;//y自减1
x++:++号在右侧
先自增,但是取值是自增之前的值
++x:++号在左侧
先自增,并且取值是自增之后的值
8)三目运算符(条件运算符)
?:
(条件)?(条件为true时的取值):
(条件为假时的取值)
小明考试及格能获得100元零花钱
不及格只能获得10元零花钱
int score=35;
int money= score>=60?100:10;
根据一个条件的真或假
给一个变量赋值是可以使用
java程序的运行结构分类
1)顺序结构
编写的代码一定会执行一次
2)分支结构
编写的代码可能会执行一次
3)循环结构
编写的代码可能会执行多次
分支结构
编写的代码根据条件可能运行
可能不运行
1)单分支结构
如果条件满足运行指定代码
使用if语句实现单分支结构
if(条件){
//条件为真时运行的代码
}
//无论条件真假都会执行的代码
PS:if语句中的{}可以省略
那么if语句只作用之后的一行语句
小明考试考试成绩如果高于90分
输出:获得ipad作为奖励
无论考试成绩的高低都输出:再接再厉
2)双分支结构
当某个条件为真时运行指定代码
当这个条件为假时运行另外的代码
使用if-else语句
if(条件){
//条件为真时运行的代码
}else{
//条件为假时运行的语句
}
小明的成绩如果高于90分
输出:获得奖励ipad
否则输出:小明挨揍了
无论是否为真都输出"再接再厉"
短路逻辑未讲
作业
关系运算符
1)小红看上公主裙180元
自己有钱260元
判断后输出
小红能买的起公主裙
是true还是false
逻辑运算符
1)输入小红的身高和体重
如果身高高于1.67米
体重低于49.5公斤
就能当模特
判断输出小红能当模特是真是假
2)小红去商场消费,消费了250元
输入微信和支付宝中的余额
判断是否足以支付消费金额
(只能选择一种支付方式)
综合练习
1)手动输入一个4位数字
(1000~9999)
将这个数字的个十百千位分别取出
放在四个变量里
计算出各位数字之和
1234%10=4
单分支结构
1)小红有1000元钱
输入小红想买的包的价格
如果小红持有的金额大于等于包的价格
输出"小红买了新包包"
无论条件真假都要输出"继续挣钱!"
2)用户输入一个会员号(int member)
如果用户输入的是(1000~9999)的数字
输出"VIP用户"
无论用户输入的是什么数字
都输出"欢迎使用!"
3)判断闰年
年份能被4整除
但是不能被100整除
或者能被400整除
的年份是闰年
根据获得的年份输出
是闰年或是平年
草稿
000 a a a 000 000aaa000 000aaa000KaTeX parse error: Expected group after '_' at position 1: _̲_KaTeX parse error: Expected group after '_' at position 1: _̲KaTeX parse error: Expected group after '_' at position 1: _̲
10000l
(long)10000
12.9f
(float)12.9
1+1:表达式
int i=35;
i-10:表达式
8>5:表达式
5/0;
3/0;
1/1=1
1/0.1=10
1/0.0000001=10000000
1/0.000000000000000000
=1000000000000000000000
异常
6/2=3
10/5=2
18/9=2
7%2=1
13%5=3
22%9=4
33%7=5
23%6=5
49%9=4
1234%10=商123余4
1234%10=4
boolean类型两个取值
true: 真,对,是
false: 假,错,否
int x=10;
x%=5;//x=x%5; 0
x/=5;//x=x/5; 2
x*=5;//x=x*5; 50
x-=5;//x=x-5; 5
x+=5;//x=x+5; 15
if(5>8)
System.out.println(1);
System.out.println(2);
1000<=member<=9999
true<=9999
2018
年份%4==0