Java IDEA介绍:
IDE: 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
Eclipse,IntelliJ IDEA....
变量
定义:在内存中开辟一块用于存储数据空间的表示方式
声明语义:在内存中开辟一块空间
声明语法:数据类型 变量名 ;
赋值语法:变量名 = 数据;
数据类型:
1、基本数据类型:四类八种
2、引用类型:类、数组、String、接口、枚举Enum
关键字
1.在java语言中,被赋予了特殊含义,特殊功能的英文单词
变量的命名规范
字、下、美、人、数、骆驼,不要和关键字重名
标识符
1、标识符:用于给类、接口、方法、变量、常量、枚举起名字的字符序列
变量作用域
1.作用域:起作用的范围。
范围:变量在哪对大括号中声明定义的,范围就是哪对大括号
2、在同一个作用域中,不能定义重名的变量。
3、在方法中定义的变量,必须【先初始化】赋值,之后才能使用。
常量
-
在程序运行过程中,其值不会发生改变的量,就是常量
-
语法:final 数据类型 常量名 = 常量值;
-
优点:比较安全
-
常量名通常大写
-
不同字符使用下划线分隔
-
只能被赋值一次,通常定义时即对其初始化
-
Scanner用法
在程序运行中,使用Scanner接收用户键盘输入的值
第一步:导入Scanner类
import java.util.*;
第二步:创建Scanner对象
Scanner input = new Scanner(System.in);
第三步:获得键盘输入的数据
int now = input.nextInt();
数据类型转换
自动类型转换
自动类型转换:由小范围到大范围的自动类型转换。
例如:int a = 1;
long b = a;
规则1:如果一个操作数为double型,则整个表达式可提升为double型 double = int + double; 规则2:整型和浮点型互相兼容 double = int + double;
强制类型转换
强制类型转换:由大范围到小范围的强制类型转换。
例如:long a = 1;
int b = (int)a;
规则1:大范围到小范围转换(10.5默认是double类型) int a = (int)10.5; 注意:强转精度会丢失 int before = 20; // apple笔记本市场份额 double rise = 9.8; // 增长的份额 int now = (int) (before + rise); // 现在的份额
数据基本运算
-
算数运算符
-
赋值运算符
-
比较运算符
-
逻辑运算符
-
三元运算符
算数运算符
+ - * / %
自增自减运算符
-
++:自增运算符
-
作用:在某个变量的基础上,自增1
-
注意事项:
-
自增运算符既可以写在变量的前面,也可以写在变量的后面
-
当a++和++a作为一个语句存在时,没有任何区别,都是表示一个自增的动作,都可以把a自增1
-
当a++和++a作为一个表达式存在时,有区别的,表示的数量的值是有区别的:
-
a++是先获取a的值,然后再自增。
-
++a先自增,然后再获取a的值。
-
-
赋值运算符
1、用于给变量进行赋值的运算符。
2、分类:
基本的赋值运算符:=
扩展的赋值运算符:+= -= *= /= %=
3、基本的赋值运算符:
将赋值运算符右边的数量,赋值给左边的变量
比较运算符
-
用于比较两个数据是否相等,比较两个数据的大小关系的运算符
-
分类:
-
== != :可以比较任意的数据类型
-
> >= < <=:可以比较数值类型(整数类型、小数类型、字符类型)
-
运算的结果:boolean类型
-
逻辑运算符
-
用于处理逻辑值的运算符,就是逻辑运算符
-
分类:
-
短路运算符:&& ||
-
&&:短路与,表示并且,一假俱假
-
||: 短路或,表示或者,一真俱真
-
-
逻辑运算符:& | ! ^
-
&:逻辑与,表示并且,一假俱假
-
|: 逻辑或,表示或者,一真俱真
-
!:逻辑非,遇真为假、遇假为真
-
^ :逻辑异或,相同为假,不同为真
-
true ^ true false
true ^ false true
false ^ true true
false ^ false false
-
-
-
结论:
&&:短路与,如果第一个表达式结果为false,那么第二个表达式的值就不计算了,直接给出false的结果
||:短路或, 如果第一个表达式结果为true,那么第二个表达式的值就不计算了,直接给出true的结果
总结:短路运算符和逻辑运算符的运算规则相同,只不过是短路与效率更高
int a = 10;
boolean result1 = (a > 100) & (a++ > 5);
System.out.println(a);//11,说明第二个表达式计算了
三元运算符
-
同时可以操作三个数据或者表达式的运算符
-
格式:
表达式1 ? 表达式2 : 表达式3
-
运算流程:
-
计算表达式1的值,要么为true、要么为false
-
如果表达式1计算结果为true,就选择表达式2作为三元表达式的计算结果
-
如果表达式1计算结果为false,就选择表达式3作为三元表达式的计算结果
-