Java基础知识
Java特性和优势
- 简单
- 面向对象
- 可移植性
- 高性能
- 分布式
- 动态性(反射)
- 多线程
- 安全
- 健壮
Java是解释型语言
高级语言可分为解释型语言和编译型语言
- 解释型就是读一句解释一句给机器执行,就像现在的实时翻译,这种语言以Java、python为主
- 编译型就是全部转译成机器语言给计算机执行,类似翻译整本书,这种语言以C/C++为主。
JDK、JRE、JVM简介
-
JDK(Java Development kit)Java开发环境,包括JRE、JVM
-
JRE(Java Runtime Environment)Java运行环境,包括JVM
-
JVM( Java Virtual Machine )Java虚拟机
Java数据类型
-
基本类型(八大基本类型)
- char(2B)
- byte(1B)-128~127
- short(2B)-32768~32767
- int(4B)-231~231-1
- long(8B)-263~263-1
- float(4B)
- double(8B)
- boolean(1b)true,false
-
引用类型
- 除开基本类型的都是引用类型,如String,Character,Byte,Integer,Long,包括类、接口、数组
-
数据类型转换
-
自动转换(小转大)
进行计算时,转换关系:char,byte,short->int->int->long->float->doube,整数转小数,但是值有可能溢出;
一个数字,整数默认int,小数默认double。char,byte,short之间相加会先转换为int,int之间运算不会先转成long再运算,所以值有可能溢出。
char a='a'; byte b=127; short s=32767; int i=21_0000_0000; long l=(long)i*b; float f=l*1.0f; double d=l/1.0; System.out.println(a+b); System.out.println(s+b); System.out.println(b*i); System.out.println(l);
-
强制转换(一般大转小,也能小转大)
-
Java运算符
-
基本运算符
+,-,*,/,%
-
自增运算符
- ++,–
-
逻辑运算符
- 或 ||
- 且 &&
- 非 !
-
关系运算符
- ==,!=
-
>,>=,<,<=
-
instaceof(属于)
-
位运算符
-
左移<<
-
右移>>
-
位或&
-
位与|
-
异或^
-
取反~
举例:
public static void main(String[] args) throws IOException { // 进制 二进制0b 八进制0 十六进制0x int a=0b00011100, b=0b00101000; System.out.println(a); System.out.println(b); System.out.println(a<<1);// =a*2;0b00111000 System.out.println(b>>2);// =b/2;0b00010100 System.out.println(a|b);// 有1为1 //a=0b00011100, //b=0b00101000; //x=0b00111100 System.out.println(a&b);// 全1为1 //a=0b00011100, //b=0b00101000; //x=0b00001000 System.out.println(a^b);//相同为0,不同为1 //a=0b00011100, //b=0b00101000; //x=0b00110100; System.out.println(~a);//01互换 -=-a-1 //a=0b00011100, //x=0b11100011; } 输出结果: 28 40 56 10 60 8 52 -29
-
-
赋值运算符
- =,+=,-,/=,*=,%=
-
注释
-
单行注释
// 1
-
多行注释
/*
1
2
3
…
*/
-
Java doc
/** * @autor * @version * @since 指明最早使用的jdk版本 * @param * @return * @throws */
javadoc -encoding UTF-8 -charset UTF-8
变量和常量
-
变量(可改变)
-
类变量(方法外)
static int a=0;
-
成员变量(方法外)
int a=1;
-
局部变量(方法内)
-
-
常量(final修饰,不可改变)
final int MAX_VALUE=999;