Java 基础:基础知识

2020-12-04  本文已影响0人  架构小白菜

目录:
一、Java 概述
1. Java体系
2. 常用的DOS命令
3. JDK、JRE、跨平台、Java平台
4. Java代码的编写执行过程
5. 注释
6. 关键字、标识符
7. Java中的数据类型
8. Java中的常量
二、变量和运算符
1. 变量和计算机存储单元
2. 数据类型和常量
3. 数据类型转换
4. 运算符 和 优先级
三、引用数据类型、流程控制语句 和 数组
1. 引用数据类型
2. 流程控制语句
3. 数组
四、方法
1. 引入
2. 语法格式
3. 方法调用
4. 注意事项
5. 方法重载
6. 可变参数列表


一、Java 概述

1. Java体系

1.jpg

Java体系

2. 常用的DOS命令

2.jpg

常用的DOS命令

3. JDK、JRE、跨平台、Java平台

JDK = JRE + 开发工具集(例如Javac编译工具等)

JRE = JVM + JavaSE标准类库

4. Java代码的编写执行过程

3.jpg

Java代码的编写执行过程

5. 注释

6. 关键字、标识符

7. Java中的数据类型

为什么有数据类型?
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型

8. Java中的常量

在Java中,定义长整形数据如果值超过int取值范围后面要+L,否则是错误的

D后缀为double,F后缀为float
定义float类型的数据后面要 + f ,否则默认是double

就是二进制定点表示法,即最高位为符号位,0表示正,1表示负,其余位表示数值的大小。

正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

正数的补码与其原码相同;负数的补码是在其反码的末位加 1


二、变量和运算符

1. 变量和计算机存储单元

1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB

2. 数据类型和常量

byte: 1个字节 : -128~127 (数据表示范围)
short: 2个字节: -32768~32767
int: 4个字节: -2147483648~2147483648
long: 8个字节: -263~263-1
float: 4个字节: -3.403E38~3.403E38
double: 8个字节: -1.798E308~1.798E308
char: 2个字节: 表示一个字符,如('a','A','0','家')
boolean: 1个字节: 只有两个值true与false

byte < char < short < int < long < float < double,
布尔类型boolean不能参与类型转换

3. 数据类型转换

默认转换:byte、short、char —> int —> long —> float —> double
byte、short、char 相互之间不转换,他们参与运算首先转换为 int类型

强制类型转换格式范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;

4. 运算符 和 优先级

算数运算符

+ - * / % ++ --

+: 正号、加、连接字符串
++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。

赋值运算符

*+= -= = /= %=

int n = 10;
byte by = 20;
by += n; // 运算完毕后,by的值为byte类型30, 相当于代码 by = (byte)(by + n);

比较运算符

== != < > <= >=

逻辑运算符

&与-----false&true-----False
|或-----false|true-----True
异或-----trueflase-----True
!非-----!true-----Flase
&&短路与-----false&&true-----False
||短路或-----false||true-----True

三目运算符

运算符优先级

优先级 描述 运算符
1 括号 ()、[]
2 正负号 +、-
3 自增自减,非 ++、--、!
4 乘除,取余 、/、%
5 加减 +、-
6 移位运算 <<、>>、>>>
7 大小关系 >、>=、<、<=
8 相等关系 ==、!=
9 按位与 &
10 按位异或 ^
11 按位或 |
12 逻辑与 &&
13 逻辑或 ||
14 条件运算 ?:
15 赋值运算 =、+=、-=、=、/=、%=

16 位赋值运算 &=、|=、<<=、>>=、>>>=

位运算符

4.jpg

位运算符


三、引用数据类型、流程控制语句 和 数组

1. 引用数据类型

int  i = sc.nextInt(); //用来接收控制台录入的数字
String s = sc.next(); //用来接收控制台录入的字符串
public int nextInt(int maxValue)    //产生 [0,maxValue) 范围的随机整数,包含0,不包含maxValue;
public double nextDouble()          //产生 [0,1) 范围的随机小数,包含0.0,不包含1.0。

Random使用方式:

2. 流程控制语句

1. if
2. if...else...
3. if...else if...else...
4. while
5. for
6. do...while...
7. switch case default break
//case 穿透性:如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式

break语句

itcast: for (i = 1; i <= 9; i++) { // 外层循环,itcast是标记
    for (j = 1; j <= i; j++) { // 内层循环
        if (i > 4) { // 判断i的值是否大于4
        break itcast; // 跳出外层循环
    }
}

continue语句

return 、break、continue 跳出控制语句的区别

return也可以用于结束循环,因为return用于结束一个方法,如果方法中有循环的话,不管return嵌套于多少层循环之内,循环都结束。
不会再执行循环后面的语句

3. 数组

一维数组

JVM内存划分

数组中常见的异常

二维数组

//第一种定义格式
//相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组
- int[][] arr = new int[3][4];//不推荐

//第二种定义格式
//第二种方式和第一种类似,只是数组中每个元素的长度不确定,必须要new:arr[0] = new int[5];...
int[][] arr = new int[3][];

//第三种定义格式
//二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9}
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

二维数组内存

打印数组

//打印一维数组五种方法
Arrays.toString(arr)

for(int n: arr)   
   System.out.println(n+", ");  

for (int i = 0; i < arr.length; i++) {  
   System.out.print(arr[i] + ", ");  
}  

System.out.println(Arrays.asList(arr));  

Arrays.asList(arr).stream().forEach(s -> System.out.println(s));//java8  

//打印二维数组三种
for(int i=0;i<arr.length;i++) {  
    for(int j=0;j<arr[i].length;j++) {  
        System.out.print(arr[i][j]+" ");  
    }  
    System.out.println();  //换行  
}  

for(int[] a:arr) {  
    for(int b:a){  
        System.out.print(b+" ");  
    }  
    System.out.println();//换行  
} 

for(int i=0;i<arr.length;i++)  
    System.out.println(Arrays.toString(arr[i]));  

//打印三维数组三种
int [][][] arrays=new int[4][3][2];//在栈空间创建一个空间  

for(int i=0;i<arrays.length;i++) {  
    for(int i1=0;i1<arrays[i].length;i1++) {  
        for(int i2=0;i2<arrays[i][i1].length;i2++) {  
        System.out.print(arrays[i][i1][i2]);  
    }  
    System.out.println();//二维换行  
}  
System.out.println();//三维换行  
}  

四、方法

1. 引入

为什么要有方法:提高代码的复用性
什么是方法:完成特定功能的代码块

2. 语法格式

3. 方法调用

4. 注意事项

5. 方法重载

6. 可变参数列表

上一篇 下一篇

猜你喜欢

热点阅读