1.绿色版软件
java中大部分的软件都有绿色版本
解压缩即可,解压之后的放到你希望的位置
2.java项目
project 包含很多的.java文件
project Name要求:
1)不允许重复
2)必须是英文或者包含数字,不允许包含中文
3)首字母大写,其他单词符合驼峰命名法
3.项目结构
src
存放java代码的目录
jre library
java程序运行需要的基本包
4.快捷键
ctrl + 放大代码
ctrl - 缩小代码
alt ctrl ↑/↓ 把一行代码复制到上面/下面
alt ↑/↓ 把一行代码移动到上面/下面
F11 运行代码
5.快速提示
main alt ? 回车 快速生成main
syso alt ? 回车 快速生成system.out.println
6.输入
1)构建一个输入的标识符
Scanner sc = new Scanner(System.in);
2)使用快捷键ctrl shift O(字母O)快速生成代码
import java.util.Scanner;
3)确定希望输入的数据类型,除了char之外都可以输入
语法:
xxx yy = sc.nextXxx();
xxx 是基本数据
yy 标识符
nextXxx()表示接收输入该类型的数据
7.short number02 = number01;
阅读顺序是从后向前
把number01这个标识符代表的数字赋值给number02这个标识符.
8.类型之间的转换(合理的需求)
小范围的整数 —-> 大范围的整数
byte —> short —>int —->long
大范围的数值类型完全兼容小范围的数值类型
低精度的数值 —-> 高精度的数值
float —-> double
高精度的数值类型完全兼容低精度的数值类型
java中浮点类型存在一些误差,java从来不用来做科学计算
上述的两种操作称为自动数据转换
大范围的整数 —-> 小范围的整数
int —-> short
默认不允许,但是可以进行强制类型转换—>强转
byte number02 = (byte)number01;
把number01强制转为byte类型
(byte)是固定的语法,代表强制的类型,优先级很高
高精度的数值 —-> 低精度的数值
9.运算符
算数 关系 逻辑 按位 移位 赋值复合
自增自减 三目
10.算数运算符
- / %(取余,求模)
- 第一运算
- / % 第二运算
关于/除法的问题:
如果两个操作数均是整数类型,除法的结果一定是整数,这个值可能是整数的值,也可能是去掉余数之后整除的值—–除法得到的是商
6/3 = 2 6/4 = 1
如果希望得到一个准确的小数,把两个操作数任何一个改为小数类型,可以得到准确的数值
关于%取余的问题:
如果两个操作数均是整数类型,取余的结果一定是整数,代表两个操作数相除之后的余数.余数的取值范围:[0,除数-1]
0代表整除的情况
操作数存在小数的时候,取余没有意义
11.关系运算符
< >= <= == !=
关系运算符有两个操作数,且结果是一个布尔类型的值
= 是赋值符号,== 是等号判等操作
!= 是不等于,在其他语言mysql <> 代表不等于,java目前不支持
= 和 <= 运算:
不是一种操作,是两个操作的单独判断,比如num01>=num02,如果num01>num02返回true,如果num01==num02也返回true
12.逻辑运算符
&&
逻辑与,&&是一个整体的符号,有两个操作数,运算的结果也是布尔类型的值.
例如:a&&b,a和b这两个操作数也必须是布尔类型的值或者是具有布尔类型值得表达式.
&&和关系运算符的表达式一起使用的时候,关系运算符的优先级较高.
结论:&&当且仅当两个操作数都是true的时候,最后的结果才是true,其他情况均为false.
||
逻辑或,||是一个整体的符号,有两个操作数,运算的结果也是布尔类型的值.
例如:a||b,a和b这两个操作数也必须是布尔类型的值或者是具有布尔类型值得表达式.
||和关系运算符的表达式一起使用的时候,关系运算符的优先级较高.
结论:||两个操作数只要有一个是true的时候,最后的结果才是就是true;两个操作数都是false的时候,最后的结果才是false
短路运算:
对于a&&b而言,如果a为false,后面的b将无需判断,结果直接返回false
对于a||b而言,如果a为true,后面的b将无需判断,结果直接返回true
!
逻辑非,只有一个操作数,运算的结果是布尔类型的值,操作数也必须是布尔类型的值或者具有布尔类型值的表达式
结论:
!a
如果a是true,那么!a是false;
如果a是false,那么!a是true;
注意:
&& 和 || 优先级一样高
! 优先级特别高,仅次于()
13.三目(元)运算符
语法:
aaa?b:c
aaa是一个具有布尔值的表达式
b 当aaa的结果为true的时候,执行b表示的代码
c 当aaa的结果为false的时候,执行c表示的代码
14.赋值复合运算符
+= -= *= /= %=
语法糖,很高超的语法,但是没啥用
类似于
number = number +5;
可以简写成
number += 5;
上述两种语法没有任何区别!!!
15.移位运算符
右移,有两个操作数,两个操作数都是数值类型的,
运算的结果也是数值类型
a>>b代表 a/2的b次方, 300>>4 和 300/16等价
取值是正数或者0没任何问题,如果是负数都是0
<<
左移,有两个操作数,两个操作数都是数值类型的,
运算的结果也是数值类型
a<<b 代表 a2的b次方, 300<<4 和 30016等价
16.自增自减运算符
i++代表先对i进行其他操作,然后在自身+1
i–代表先对i进行其他操作,然后在自身-1
++i代表先自身+1,然后在对i进行其他操作
–i代表先自身-1,然后在对i进行其他操作
17.区分i++和i+=1和i=i+1和i+1
i++ 是 i=i+1的简写,先使用后+1,对i的值得修改有效;
i+=1 是 i=i+1的简写,对i的值得修改有效;
i=i+1
以上三种写法等效!!!都可以对i的值产生影响
i+1 是对 i的值加1可以输出,不会影响i的值
18.java的代码结构
顺序结构
最常见的结构,程序占比很高的.代码的执行顺序自上而下执行.
分支结构
if…else….
switch…case…
循环结构
19.if
语法:
if(具有布尔值的表达式){
布尔值为true的时候要执行的代码
}
需求:
根据用户输入的年数进行名词匹配
一~十周年:锡婚
十一周年~二十周年:象牙
二十一周年~三十周年:银婚
三十一周年~四十周年:红宝石婚
五十周年以上: 金 婚