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数组变成?列
把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并增加位置。--数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。--数组的缩容