java 根底
计算机基础知识
计算机软件分为系统软件与应用软件。
罕用的 DOS 命令:
e: 进入 e 盘
dir 列出当前目录下的目录和文件
mkdir 新建文件夹
rmdir 删除文件夹
cd java 进入 java 目录
cd .. 退到下层目录
cd / 退到根目录
exit : 退出 dos 命令行
cls : (clear screen)清屏
Java 语言特点
简略性 高性能
编译性 解释性
面向对象 分布式解决
健壮性 安全性
开源 跨平台
什么是跨平台性?
通过 Java 语言编写的应用程序在不同的零碎平台上都能够运行。
原理是什么?
只有在须要运行 java 应用程序的操作系统上,先装置一个 Java 虚拟机 (JVM Java Virtual Machine) 即可。由 JVM 来负责 Java 程序在该零碎中的运行。
因为有了 JVM,所以同一个 Java 程序在三个不同的操作系统中都能够执行。这样就实现了 Java 程序的跨平台性。也称为 Java 具备良好的可移植性。
(既 JVM 能够跨平台,所以 java 也能够跨平台)
测验是否装置,配置了 jdk
DOS 命令 java -version
/*
* 第一行的作用,定义一个包
* package 包,关键字;专门用来定义包的
* cn.tedu.test– 包名 – 全小写,公司域名倒着写;
* ; –java 语句结束符;
*/
package cn.tedu.test;
/*
* 定义一个类;
* public –java 关键字,公开公共的,专门用来润饰类的拜访权限
* class – 关键字,专门用来定义类;
* ex – 类名 – 驼峰命名法
* {java 代码}
*/
public class ex {
/*
* 用来定义一个主函数 / 主办法 /main 函数 – 用来作为程序的入口;
* public – 关键字,公开的公共的,用来润饰 main 办法的拜访权限;
* static – 关键字,动态的,用来润饰 main 办法是动态的;
* void – 关键字,main 办法没有返回值
* main – 办法名
*()– 看做办法的标记
* String[] args – 办法的参数
* {java 代码}
*/
public static void main(String[] args) {
/*
* 指向控制台输入的数据;
* System – 收回一个零碎的指令;
* out – 向外输入的动作;
* println – 打印后换行;
*()– 小括号里要输入的数据;
*/
System.out.println(“ 阿巴阿巴 ”);
}
}
数据类型
根本类型(8 种)
short long int boolean byte float double char
在应用 char 类型存储数据时,能够间接存入一个整数,然而在应用中会查到数字对应的字符,应用的是字符自身而不是输出的数字。参照 acsii 码表,该表只规定了 0 -127 的字符。
个数只能是一个
援用类型
整数类型默认为 int 类型,byte/short/char 类型在取值范畴内能够间接赋值。
浮点数的字面值是 double 类型。
0b - 2 进制
0x – 16 进制
0 - 8 进制
\u -char 类型,16 进制
// 复制一行 ctrl alt 下箭头
运算规定
计算结果的数据类型,与最大类型统一
3/2 得 1,而不是 1.5,后果是 int 类型
3d/2 得 1.5,相当于 double/int,后果是 double 类型
byte,short,char 三种比 int 小的整数,运算时会先主动转换成 int
byte a=3;
byte b=4;
byte c=a+b;// 错,运行时,byte 会先主动转成 int 再运算,int+int 还是 int
整数运算溢出
整数运算,相似于一个中标,转到最大时,再转会回到最小。
计算:光速运行一年的长度是多少米
System.out.println(300000000*60*60*24*365);// 谬误
System.out.println(300000000l*60*60*24*365);
浮点数运算不准确
java 提供了解决方案,前面就会讲到。
System.out.println(1-0.8);
System.out.println(4.35*100);
浮点数的非凡值
Infinity 无穷大 3.14/0
Nan not a number 0/0.0
运算符
算数运算符:+ – * / = % ++(符号在前,先自增,后应用 符号在后先应用再自增)—
比拟运算符(后果为 boolean 类型):== !=
逻辑运算符(后果为 boolean 类型):&&(短路)& 与
||(短路) | 或
!非
三元运算符 a?B:c;
a 为真运行 b
a 为假运行 c
If 循环
If(判断条件){执行代码}
else{
}
If(判断条件 1){执行代码 1}
else if(判断条件 2){执行代码 2}
PS. 变量同时满足判断条件 1 和判断条件 2 的时候,只会运行并输入执行代码 1 而不会再次运行执行代码 2。
Swtich
Swtich(判断条件){(// 只反对 byte short int char String 类型)case 1: 语句 1;
case 2: 语句 2;
case 3: 语句 3;
case 4: 语句 4;
case 5: 语句 5;
case 6: 语句 6;
default: 语句 7;}
满足条件后执行之后所有语句(如 case 4 合乎执行语句 4567)
FOR 循环
for(循环开始的地位; 循环的条件; 更改条件){循环体}
For(1;2;3){4}
执行程序
1243243……
嵌套 FOR 循环
for(1;2;3){ // 外循环
for(1;2;3){ // 内循环
循环体
}
}
特点
– 外循环执行一次,内循环执行屡次
– 外循环管制行,内循环管制列。
WHILE 循环
while(判别式){// 先判断是否合乎为 true 运行
循环体
}
do{// 先运行一次循环体,而后在判断为 true 再次执行。循环体}
while(判别式)
创立随机数
1.Math.random (随机的小数,double 类型)
2.int a=new Random().nextInt(50); (50 以内的随机数,)
break 和 continue
用于循环构造中,用来完结循环
break– 立刻完结循环
continue– 完结本次循环还能进行下一轮
变量
就近准则
– 成员变量 定义在类里不赋值时有默认值
– 局部变量 定义在办法里,必须赋值
办法
语法:
办法的修饰符 + 办法的返回值 + 办法名 +([参数列表]){
办法体
}
public void main(String[] args){}
应用:
– 办法的调用:
调用指定办法
把办法执行结束,并返回指定地位
继续执行办法调用之后的代码
– 办法的传参:
承受参数
办法的修饰符 + 办法的返回值 + 办法名 +(参数类型 参数名, 参数类型 参数名)
– 办法的返回值:
定义方法时办法的返回值的类型 – 要看返回数据的类型。
数组
概述
array。标记 [] 用来贮存多个雷同类型的数据
每个元素都有下标。从 0 开始
创立数组
– 语法:数组类型[] 数组名 = new 数组类型[数组长度];
– 动静初始化
int[] a=new int[];
– 动态初始化
int[] b=new int []{1,2,3,4,5};
int[] c = {1,2,3,4,5};
int[] a=new int[10];
\1. 在内存中,开拓空间,存放数据,长度为 10
\2. 给每个地位的元素实现初始化(设置默认值),存入 10 个 0.
\3. 给数组调配惟一的标记 – 地址值。
\4. 把数组的地址值交给援用类型的变量 a 保留。
int[] b =new int[]{1,2,3,4,5}
1. 在内存中,开拓空间,存放数据,长度为 10
2. 给每个地位的元素实现初始化(设置默认值),存入 10 个 0.
3. 显示赋值,批改默认值。
4. 给数组调配惟一的标记 – 地址值。
\5. 把数组的地址值交给援用类型的变量 a 保留。
数组工具类
概述
专门用来对数组的常见操作。
罕用办法
Arrays.toString(arr)
把数组里的数据,用逗号连接成字符串
Arrays.sort(arr)
排序,默认为从小到大。
Arrays.copyOf(arr,?)
把 arr 数组变成?列
把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并减少地位。– 数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。– 数组的缩容 java 根底
计算机基础知识
计算机软件分为系统软件与应用软件。
罕用的 DOS 命令:
e: 进入 e 盘
dir 列出当前目录下的目录和文件
mkdir 新建文件夹
rmdir 删除文件夹
cd java 进入 java 目录
cd .. 退到下层目录
cd / 退到根目录
exit : 退出 dos 命令行
cls : (clear screen)清屏
Java 语言特点
简略性 高性能
编译性 解释性
面向对象 分布式解决
健壮性 安全性
开源 跨平台
什么是跨平台性?
通过 Java 语言编写的应用程序在不同的零碎平台上都能够运行。
原理是什么?
只有在须要运行 java 应用程序的操作系统上,先装置一个 Java 虚拟机 (JVM Java Virtual Machine) 即可。由 JVM 来负责 Java 程序在该零碎中的运行。
因为有了 JVM,所以同一个 Java 程序在三个不同的操作系统中都能够执行。这样就实现了 Java 程序的跨平台性。也称为 Java 具备良好的可移植性。
(既 JVM 能够跨平台,所以 java 也能够跨平台)
测验是否装置,配置了 jdk
DOS 命令 java -version
/*
- 第一行的作用,定义一个包
- package 包,关键字;专门用来定义包的
- cn.tedu.test– 包名 – 全小写,公司域名倒着写;
- ; –java 语句结束符;
*/
package cn.tedu.test;
/*
- 定义一个类;
- public –java 关键字,公开公共的,专门用来润饰类的拜访权限
- class – 关键字,专门用来定义类;
- ex – 类名 – 驼峰命名法
- {java 代码}
*/
public class ex {
/*
- 用来定义一个主函数 / 主办法 /main 函数 – 用来作为程序的入口;
- public – 关键字,公开的公共的,用来润饰 main 办法的拜访权限;
- static – 关键字,动态的,用来润饰 main 办法是动态的;
- void – 关键字,main 办法没有返回值
- main – 办法名
- ()– 看做办法的标记
- String[] args – 办法的参数
- {java 代码}
*/
public static void main(String[] args) {
/*
- 指向控制台输入的数据;
- System – 收回一个零碎的指令;
- out – 向外输入的动作;
- println – 打印后换行;
- ()– 小括号里要输入的数据;
*/
System.out.println(“ 阿巴阿巴 ”);
}
}
数据类型
根本类型(8 种)
short long int boolean byte float double char
在应用 char 类型存储数据时,能够间接存入一个整数,然而在应用中会查到数字对应的字符,应用的是字符自身而不是输出的数字。参照 acsii 码表,该表只规定了 0 -127 的字符。
个数只能是一个
援用类型
整数类型默认为 int 类型,byte/short/char 类型在取值范畴内能够间接赋值。
浮点数的字面值是 double 类型。
0b - 2 进制
0x – 16 进制
0 - 8 进制
u -char 类型,16 进制
// 复制一行 ctrl alt 下箭头
运算规定
计算结果的数据类型,与最大类型统一
3/2 得 1,而不是 1.5,后果是 int 类型
3d/2 得 1.5,相当于 double/int,后果是 double 类型
byte,short,char 三种比 int 小的整数,运算时会先主动转换成 int
byte a=3;
byte b=4;
byte c=a+b;// 错,运行时,byte 会先主动转成 int 再运算,int+int 还是 int
整数运算溢出
整数运算,相似于一个中标,转到最大时,再转会回到最小。
计算:光速运行一年的长度是多少米
System.out.println(300000000606024365);// 谬误
System.out.println(300000000l606024365);
浮点数运算不准确
java 提供了解决方案,前面就会讲到。
System.out.println(1-0.8);
System.out.println(4.35*100);
浮点数的非凡值
Infinity 无穷大 3.14/0
Nan not a number 0/0.0
运算符
算数运算符:+ – * / = % ++(符号在前,先自增,后应用 符号在后先应用再自增)—
比拟运算符(后果为 boolean 类型):== !=
逻辑运算符(后果为 boolean 类型):&&(短路)& 与
||(短路) | 或
!非
三元运算符 a?B:c;
a 为真运行 b
a 为假运行 c
If 循环
If(判断条件){
执行代码}
else{
}
If(判断条件 1){
执行代码 1}
else if(判断条件 2){
执行代码 2}
PS. 变量同时满足判断条件 1 和判断条件 2 的时候,只会运行并输入执行代码 1 而不会再次运行执行代码 2。
Swtich
Swtich(判断条件){(// 只反对 byte short int char String 类型)
case 1: 语句 1;
case 2: 语句 2;
case 3: 语句 3;
case 4: 语句 4;
case 5: 语句 5;
case 6: 语句 6;
default: 语句 7;}
满足条件后执行之后所有语句(如 case 4 合乎执行语句 4567)
FOR 循环
for(循环开始的地位; 循环的条件; 更改条件){
循环体}
For(1;2;3){
4}
执行程序
1243243……
嵌套 FOR 循环
for(1;2;3){ // 外循环
for(1;2;3){// 内循环
循环体
}
}
特点
– 外循环执行一次,内循环执行屡次
– 外循环管制行,内循环管制列。
WHILE 循环
while(判别式){// 先判断是否合乎为 true 运行
循环体
}
do{// 先运行一次循环体,而后在判断为 true 再次执行。
循环体}
while(判别式)
创立随机数
1.Math.random (随机的小数,double 类型)
2.int a=new Random().nextInt(50); (50 以内的随机数,)
break 和 continue
用于循环构造中,用来完结循环
break– 立刻完结循环
continue– 完结本次循环还能进行下一轮
变量
就近准则
– 成员变量 定义在类里不赋值时有默认值
– 局部变量 定义在办法里,必须赋值
办法
语法:
办法的修饰符 + 办法的返回值 + 办法名 +([参数列表]){
办法体
}
public void main(String[] args){}
应用:
– 办法的调用:
调用指定办法
把办法执行结束,并返回指定地位
继续执行办法调用之后的代码
– 办法的传参:
承受参数
办法的修饰符 + 办法的返回值 + 办法名 +(参数类型 参数名, 参数类型 参数名)
– 办法的返回值:
定义方法时办法的返回值的类型 – 要看返回数据的类型。
数组
概述
array。标记 [] 用来贮存多个雷同类型的数据
每个元素都有下标。从 0 开始
创立数组
– 语法:数组类型[] 数组名 = new 数组类型[数组长度];
– 动静初始化
int[] a=new int[];
– 动态初始化
int[] b=new int []{1,2,3,4,5};
int[] c = {1,2,3,4,5};
int[] a=new int[10];
- 在内存中,开拓空间,存放数据,长度为 10
- 给每个地位的元素实现初始化(设置默认值),存入 10 个 0.
- 给数组调配惟一的标记 – 地址值。
- 把数组的地址值交给援用类型的变量 a 保留。
int[] b =new int[]{1,2,3,4,5}
1. 在内存中,开拓空间,存放数据,长度为 10
2. 给每个地位的元素实现初始化(设置默认值),存入 10 个 0.
3. 显示赋值,批改默认值。
4. 给数组调配惟一的标记 – 地址值。
- 把数组的地址值交给援用类型的变量 a 保留。
数组工具类
概述
专门用来对数组的常见操作。
罕用办法
Arrays.toString(arr)
把数组里的数据,用逗号连接成字符串
Arrays.sort(arr)
排序,默认为从小到大。
Arrays.copyOf(arr,?)
把 arr 数组变成?列
把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并减少地位。– 数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。– 数组的缩容