系列文章目录
目录
一、命令提示符
1.打开快捷键:win+R→cmd→回车
2.切换盘符:D:
3.进入子文件夹:cd 子文件夹名称(若名字太长可写出前几个无重复的+tab自动补全,若有重复连续按tab自动切换)
4.返回文件夹上一级:cd ..
5.一次性进入多级子文件:cd 文件夹1\文件夹2\文件夹3
6.一次性返回根目录文件:cd \
7.查询所有下一级子文件夹:dir
8.清理页面:cls
9.退出:exit
二、JRE和JDK
1.JRE
Java程序的运行时的环境,包含JVM和运行时所需的核心类库(只能用于运行程序)
2.JDK
Java程序开发工具包,包含JRE和开发人员使用的工具(可用于开发程序)
三、HelloWorld入门程序
(1)注释:
单行注释// 多行注释/* 注释 */
//第一行的第三个单词必须和所在的文件名称完全一样,大小写也一样
//public class后面代表定义一个类的名称,类是java当中所有源代码的基本组织单位
public class HelloWorld {
//第二行的内容是万年不变的固定写法,代表main 方法
//这一行代表程序执行的起点
public static void main(String[] args){
//第三行代表打印输出语句(其实就是屏幕显示)
//希望显示什么东西,就在小括号中填写什么内容
System.out.println("Hello,World!");
}
}
(2)关键字
- 完全小写的字母
(3)标识符
- 指在程序中我们自定义的内容,比如类的名字、方法的名字和变量的名字等等
- 命名规则:硬性建议:
- 标识符可以包含26个英文字母(区分大小写)0-9数字 $美元符号和_下划线
- 标识符不能以数字开头
- 标识符不能是关键字
- 命名规范:软性建议
- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)
- 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)
- 方法名规范:同变量名
(4)常量
- 在程序运行期间固定不变的量
- 字符串常量:凡是用双引号引起来的部分叫做字符串常量,例如:“abc”、"Hello"
- 整数常量:直接写上的数字,没有小数点,例如:100、200
- 浮点数常量:直接写上的数字,有小数点,例如2.5
- 字符常量:凡是用单引号引起来的单个字符,就叫做字符常量,例如:'A'、'c'
- 布尔常量:true、false
空常量:null,代表没有任何数据。
System.out.println("Hello,world");
System.out.println("");
System.out.println(30);
//两个单引号中必须有且只有一个字符
System.out.println(' ');
//空常量不能直接用来打印输出
System.out.println(null);
(5)基本数据类型
- 整数型:byte short int long
- 浮点型:float double
- 字符型:char
- 布尔型:bool
- 注意事项:1.字符串不是基本类型,而是引用类型
2.浮点型可能只是一个近似值,并非精确的值
3.数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但是float是4个字节,long 是8个字节
4.浮点数当中默认的是double,如果一定要使用float类型,需要加上一个后缀F;如果是整数,默认为int类型,如果一定 要使用 long 类型,后面加上一个后缀L类型,推荐使用大写字母后缀
(6) 变量
- 程序运行期间内容可以发生改变的量
- 创建一个变量并且使用的格式:数据类型 变量名称;//创建了一个变量。 变量名称=数据值;//赋值,将右边的数据值赋值给左边
- 一步到位格式:数据类型 变量名称=数据值;//在创建一个变量的同时,立刻放入制定的数据值
- 变量不能重复创建,没有赋值的变量不能重复使用;float和long类型字母后缀F和L不能丢掉;变量使用不嗯呢该超过作用域的范围,作用域就是从定义变量的一行开始,一直到所属的大括号结束为止,超出大括号可以再次重新创建;
long num1=3000000000L;
float num2=2.5F;
boolean var1=true;
(7)类型转换
- 当数据类型不一样时,将会发生数据类型转换
- 自动类型转换(隐式):特点:代码不需要进行特殊处理,自动完成;规则:数据范围从小到大
- 强制类型转换(显式):不能自动发生类型转换,格式:范围小的类型 范围小的变量=(范围小的类型)原本范围大的数据;
- 注意事项:强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出;byte、short、char者三种数据类型都可以发生数学运算,例如加法“+”;byte/short/char这三种类型在运算的时候,都会首先提升为int类型,然后再计算;布尔类型不能发生数据类型转换。
long num1=100;//左边是long类型,右边是磨人的int类型,左右不一样,将右边int 类型交给左侧long变量进行存储,int-->long,符合数据范围从小到大的要求;
double num2=2.5F;//float-->double,符合从小到大的规则,也发生了自动类型转换
int num=(int)100L;
System.out.println(num);
char zifu1 = 'A';
System.out.pringln(zifu1+1);//结果为66,也就是大写字母A被当做65进行处理
//计算机的底层会用一个数字(二进制)来代表字符A,就是65
//一旦char类型进行了数字运算,那么字符就会按照一定规则翻译成为一个数字
byte num4 = 40;
byte num5 = 50;
byte result1 = num4 + num5;// byte + byte --> int + int --> int,此时int结果转换为byte,会有损失
int result1 = num4 + num5;//此时写法是正确的
System.out.println(result1);//90
(8)任何数字类型和字符串连接的时候都会变成字符串
(9)自增自减
- 前++:++num
- 后++:num++
- 在混合运算时有重大区别:A:前++,变量立马+1,然后那这结果使用,先加后用B:后++,先使用变量本来的数值,然后再让变量+1,先用后加
(10)数学运算符:包含强制类型转换
(11)比较运算符:结果一定是一个布尔值
(12)逻辑运算符:
(13)三元运算符:
格式:数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;
流程:首先判断条件是否成立,如果成立为true,那么将表达式A的值赋值给左边的变量;
如果不成立为false,那么将表达式B的值赋值给左侧的变量。
int max = a>b ? a : b;
四、方法
-
定义一个方法的格式
public static void 方法名称(){ 方法体 //方法体就是大括号中包含的任意语句 }//方法名称的命名规则和变量一样,使用小驼峰 /*注意事项: 1.方法定义的先后顺序无所谓 2.方法的定义不能产生嵌套关系 3.方法定义好了之后不会执行,如果要执行,一定要进行方法的调用
-
调用方法:格式:方法名称();
五、流程概述与顺序结构
(1)switch语句注意事项:
-
多个case后面的数值不可以重复
-
switch后面小括号当中只能是下列数据类型:基本数据类型:byte/short/char/int;引用数据类型:String字符串,enum枚举
-
switch语句格式可以很灵活,前后顺序可以颠倒而且break语句还可以省略,匹配到哪一个case就从哪一个位置向下执行,知道遇到了break或者整体为止
(2)for循环
for(初始化语句;条件判断;步进语句){
循环体
}
for(int i = 1;i <=100;i++){
System.out.println("我错了");
}
(3)while循环
while(条件判断){
循环体;
步进语句;
}
while(i<=10){
System.out.println("hbq");
i++;
}
(4)do-while循环
do{
循环体;
步进语句;
}while(条件判断);
(5)三种循环的区别
- 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会至少执行一次。
- for循环的变量在小括号中定义,只有循环内部才可以使用,while循环和do-while循环初始化语句本来就在外面,所以出来循环后还可以继续使用