1.jdk和jre
(a)jdk:java开发工具包,包括编译工具,jre,运行时的类库
常用工具:javadoc工具,javac,java
(b)jre:java运行环境,包括jvm,类库
2.java语言跨平台的原因
java经过编译后产生的字节码需要jvm虚拟机解析运行,
而各个平台都有自己的jvm,用于解析java生成的字节码。
3.java语言最大的特点:面向对象
4:java语言的三个平台
java标准版 j2se java5后 改名为 JAVA SE
java企业版 j2ee JAVA EE
java微缩版 j2me JAVA ME
5.JVM了解(什么是jvm,有什么特点)
jvm:虚拟出用于运行java程序的设备
职责:就是运行java程序,程序启动时jvm运行,程序停止时jvm终止,一个程序启动一个局jvm。
6.编程规范
(a)编码规范
(1)缩进
(2)标识符命名规范
(b)注释规范
1)文档注释/** 回车
*
*/
2)单行注释
//ctrl+/
3)临时注释
/* */ ctrl+shift+/ ctrl+shift+\
7.配置java开发环境
------------------------------------------------------------------------------------------
1.数据类型
a)数据类型的作用:设置数据在内存中所占的内存大小
b)分类:
基本数据类型:
数值类型:
整形:byte short int long
默认情况 int
浮点型:float double
默认类型 double
字符类型:单个字符 char 使用 '' 包裹 'a' '0'
布尔类型:boolean 仅有两个值 true false
引用数据类型:
类
接口
数组
2.常用的进制
a)二进制b)十进制
c)八进制
d)十六进制
3.char类型能否存放一个汉字
char类型可以放一个汉字,char类型以unicode码存放数据
\u0000-\uffff
中文的unicode \u4e00-\u9fa5
4.char在进行运算的时候 是把字符转换为对应的ascii码在计算
A 97
a 65
0 48
5.char类型:
其值:1.是否是单个字符或中文 'a' '0' '你'
2.是否是 Unicode的编码 '\u1234'
3.是否一个一个转义字符 '\t'
D:\考勤\2017-07-26.txt
重点:
1.int
2.double
3.char类型中的面试题
a)char 中是否可以存放一个中文
b)char 中可以存放数据的格式
c)char 在运算是转为Ascii码
a 97
A 65
0 48
4.类型转换
a)自动转换
byte short char 之间不能转
int--long--float--double
b)强制类型转换:类型要兼容,会出现精度丢失
double m=12.56;
int n=(int)m; //12
===========================
1.运算符:
a)算术运算符:
+ :如果 + 的两边都是数字 进行 加法计算
如果一边为"" + 就表示 链接符号,
-
*
/ 13/5 2
% 13%5 3 用于判断能否被一个数整除
根据身份证判读性别
判断一个三位数是否为回文数
输入一个数字 判断是否 为 水仙花数
一个三位数 每一位上数字的立方和=本身
123
1*1*1+2*2*2+3*3*3 == 123
double 类型的数字的 / 和 %
Infinity
double 在去余数的时候 只考虑 整数部分
-12 /4
++
a++
int m=a++; //int m=a; a=a+1;
int m= ++a; // a=a+1; int m=a;
int a=12;
int b=3;
int c=a++ + b;//运算符的贪婪法则,运算符发现其后的运算符和自己相同
自动组成一对
c: 15
a: 13
b: 3
int c=a+ (++b);
c: 16
a: 12
b: 4
b)逻辑运算符:
&&
||
!
注意 短路 如果逻辑运算符的左边的表达式结果决定整个表达式的值
那么右边的表达式不在执行
a=true; a=false; a=false; a=true;
b=true; b=true; b=false; b=false;
a&&b 不会 会 会 不会
a||b 会 不会 不会 会
a=true; a=false; a=false; a=true;
b=true; b=true; b=false; b=false;
a&&b true false false false;
a||b true true false true
!a false true true false
c)赋值运算符
d)比较运算符
== :比较的是变量对应的内存地址
int a=12; //常量池 12 'a' "abc"
int b=12+1;
if(a==b){
}
!=
e)位运算符:操作的是二进制数据
&:10&8 8
1010
1000
1000
|:10|8 10
1010
1000
1010
^: 10^8 2
1010
1000
0010
<<:10<<2 m<<n m*2的n次方
101000
8+32 =40
以最快的方式获取 2的立方 8
2<<2
>>:m>>n m/2的n次方 商
10>>4 0
0000
>>>:忽略正负号
注意:
1.算术运算符:
+:注意两边是否有字符串
/:注意数据类型
double 获取的是小数
12.0/3 4.0
10.0/4 2.5
int
12/5 2
注意 0
%:获取余数:
int 获取余数
12%5 2
double
12.5%7 5.5
正负号
正数 取余数 为正数
负数 取余数 为负数
2.逻辑运算符:短路
3.比较运算符
== :比较的是内存地址
常量池的地址
堆中的地址
4.位运算符:
1)只能对byte、short int long char
2)先把两边转为二进制在 计算
3)<<: 2<<2
5.算远运算符(三目运算符)
表达式?值1:值2 就是一个简单的if else
if(表达式){
值1;
}else{
值2;
}
String msg=age>=18?"成年":"未成年";
String msg="";
if(age>=18){
msg="成年";
}else{
msg="未成年";
}
注意:三元运算符中的两个值 数据类型必须统一或可以自动升级
6.优先级:
a)括号
b)前置++ --
c)* / %
d)+ -
e)比较运算符
f)逻辑运算符
g)赋值运算符
h)后置 ++ --
jdk 不安装的配置方式:
1.复制需要的jdk完整目录到电脑中
2.必须配置环境变量,识别jdk
JAVA_HOME 指向jdk复制后的位置
D:\Program Files\Java\jdk1.7.0_75
把jdk的bin目录添加到path
在其最前面 添加
D:\Program Files\Java\jdk1.7.0_75\bin;
eclipse 必须和jdk的位数相同
int a=12;
int b=a++; //12
1.交换变量
a)使用第三者变量
b)不允许使用第三者
A 97
a 65
0 48
5.char类型:
其值:1.是否是单个字符或中文 'a' '0' '你'
2.是否是 Unicode的编码 '\u1234'
3.是否一个一个转义字符 '\t'
D:\考勤\2017-07-26.txt
重点:
1.int
2.double
3.char类型中的面试题
a)char 中是否可以存放一个中文
b)char 中可以存放数据的格式
c)char 在运算是转为Ascii码
a 97
A 65
0 48
4.类型转换
a)自动转换
byte short char 之间不能转
int--long--float--double
b)强制类型转换:类型要兼容,会出现精度丢失
double m=12.56;
int n=(int)m; //12
===========================
1.运算符:
a)算术运算符:
+ :如果 + 的两边都是数字 进行 加法计算
如果一边为"" + 就表示 链接符号,
-
*
/ 13/5 2
% 13%5 3 用于判断能否被一个数整除
根据身份证判读性别
判断一个三位数是否为回文数
输入一个数字 判断是否 为 水仙花数
一个三位数 每一位上数字的立方和=本身
123
1*1*1+2*2*2+3*3*3 == 123
double 类型的数字的 / 和 %
Infinity
double 在去余数的时候 只考虑 整数部分
-12 /4
++
a++
int m=a++; //int m=a; a=a+1;
int m= ++a; // a=a+1; int m=a;
int a=12;
int b=3;
int c=a++ + b;//运算符的贪婪法则,运算符发现其后的运算符和自己相同
自动组成一对
c: 15
a: 13
b: 3
int c=a+ (++b);
c: 16
a: 12
b: 4
b)逻辑运算符:
&&
||
!
注意 短路 如果逻辑运算符的左边的表达式结果决定整个表达式的值
那么右边的表达式不在执行
a=true; a=false; a=false; a=true;
b=true; b=true; b=false; b=false;
a&&b 不会 会 会 不会
a||b 会 不会 不会 会
a=true; a=false; a=false; a=true;
b=true; b=true; b=false; b=false;
a&&b true false false false;
a||b true true false true
!a false true true false
c)赋值运算符
d)比较运算符
== :比较的是变量对应的内存地址
int a=12; //常量池 12 'a' "abc"
int b=12+1;
if(a==b){
}
!=
e)位运算符:操作的是二进制数据
&:10&8 8
1010
1000
1000
|:10|8 10
1010
1000
1010
^: 10^8 2
1010
1000
0010
<<:10<<2 m<<n m*2的n次方
101000
8+32 =40
以最快的方式获取 2的立方 8
2<<2
>>:m>>n m/2的n次方 商
10>>4 0
0000
>>>:忽略正负号
注意:
1.算术运算符:
+:注意两边是否有字符串
/:注意数据类型
double 获取的是小数
12.0/3 4.0
10.0/4 2.5
int
12/5 2
注意 0
%:获取余数:
int 获取余数
12%5 2
double
12.5%7 5.5
正负号
正数 取余数 为正数
负数 取余数 为负数
2.逻辑运算符:短路
3.比较运算符
== :比较的是内存地址
常量池的地址
堆中的地址
4.位运算符:
1)只能对byte、short int long char
2)先把两边转为二进制在 计算
3)<<: 2<<2
5.算远运算符(三目运算符)
表达式?值1:值2 就是一个简单的if else
if(表达式){
值1;
}else{
值2;
}
String msg=age>=18?"成年":"未成年";
String msg="";
if(age>=18){
msg="成年";
}else{
msg="未成年";
}
注意:三元运算符中的两个值 数据类型必须统一或可以自动升级
6.优先级:
a)括号
b)前置++ --
c)* / %
d)+ -
e)比较运算符
f)逻辑运算符
g)赋值运算符
h)后置 ++ --
jdk 不安装的配置方式:
1.复制需要的jdk完整目录到电脑中
2.必须配置环境变量,识别jdk
JAVA_HOME 指向jdk复制后的位置
D:\Program Files\Java\jdk1.7.0_75
把jdk的bin目录添加到path
在其最前面 添加
D:\Program Files\Java\jdk1.7.0_75\bin;
eclipse 必须和jdk的位数相同
int a=12;
int b=a++; //12
1.交换变量
a)使用第三者变量
b)不允许使用第三者