说是java语言的基础,其实也是几乎所有语言的编程基础。
1.标识符
标识符可以用来表示类名,方法名,变量名,接口名,方法名
规则
- 是由数字,字母,下划线,美元符号组合而成
- 必须以字母,下划线_,美元符号$开头,唯独数字不能开头
注意表示符不能和关键字冲突
关键字是区分大小写的
虽然没有长度限制,但是也不要太长了,而且要做到见名知意,java开发程序员默认都是用驼峰标识,不想挨打就用驼峰命名。
类名是首字母大写,方法名是首字母小写,常量全部大写。接口一般以大写I开头命名,成员变量一般是小写m开头命名。
总结,只要是你自己想的名字,都是标识符。
2.关键字
关键字就是java原生内部定义好的单词,关键字也算是标识符吧,只不过这些关键字已经定义好了固定的意思,咱们不能自己修改这些关键字的含义了,咱们只要知道这些关键字的含义和用法就可以了。具体的关键字都有什么,我就不写了,百度上的更全面。
3.进制转换
首先要知道一般常用的都有哪些进制,最常用的是十进制,日常见到的都是十进制,然后就是十六进制,一般代码中设置颜色都是十六进制,还有一个特别重要的就是二进制,计算机只能识别二进制,咱们写的所有代码,计算机都会转成二进制来执行。
4.字符编码
其实就是把二进制数按照一定的格式做一些规定。就像以前的电报机,你发送了一堆长短不同的信号,对方接受到之后转换成011010这种,然后在规定好的本子上查对应的中文是什么。比如ASCII码表,大写英文字母A,对应的二进制是0100 0001,对应的十进制是65。
常见的码表是ASCII表,这是美国信息交换标准代码。GB2312,这是中国的码表,收录了中文简体字在表中还有一些其他内容。后来发布了GBK码表,比GB2312收录的汉字多很多,而且繁体字也加入进去了。如果每个国家都规定一套码表,那么每个国家写的程序到了其他国家在进行文字转换的时候计算机转换出来的文字就不一样了,就是最常见的乱码现象。然后国际上就指定了一套UTF-8码表,这个码表是国际通用码表,一般开发就用UTF-8就好了
5.变量
变量本质上来说是内存中的一块空间,这块空间有“数据类型”、“名字”(标识符)、“字面值”(数据)
变量是内存中存储数据的最基本的单元。
声明一个变量:
数据类型 变量名;
变量的赋值:
变量名 = 字面值;
因为是变量,所以这个变量名可以多次赋值。
6.数据类型
一个字节是8个bit位,一个bit就是一个1或者0
1 byte= 8 bit
1 KB= 1024 byte
八大数据类型: 占用空间大小(单位:字节)
- byte 1
范围:-128~127,因为最左边的bit位是符号位,所以正数最大值是0111 1111,下面也是这样
默认值是0 - short 2
范围:-32768~32767 默认值是0 - int 4
默认值是0 - long 8
默认值是0L - float 4
默认值是0.0f - double 8
默认值是0.0d - char 2
字符没有负数,所以范围是0~65535
默认值是’\u0000’ - boolean 1
范围:true,false
默认值是false
还有一个字符,是转义字符,,用来转义关键符号。
7.运算符
算术运算符:+,-,,/,++,–,%
赋值运算符:=,+=,-=,=,/=,%=
关系运算符:<,>,==,<=,>=,!=
布尔运算符:&,|,&&,||,!
布尔运算符说一下,&是与,|是或,!是非
条件运算符:?:
条件运算符一般是写三元表达式的时候用
比如int i = 1 > 2 ? 10 :20;
这个是什么意思呢?就是问1大于2吗?如果是真,那么I就等于10,如果是假,i就等于20。结果如果下面打印i等于什么,就是20;
8.控制语句
都有什么语句呢?
if语句,if-else语句,for语句,switch语句,while语句,do-while语句
还有结合语句使用的关键字break,和continue
分别简单介绍一下:
if语句是判断语句,用法就是
if(如果小括号里的结果为真,就执行大括号里的代码){}
if-else语句,写法有两种
if(条件){}else{这里是只要不满足if的条件,就执行这里的代码,这里的else如果不写就是if语句}
if(条件){}else if(条件){}else{}
switch语句也是判断语句,写法是
switch(这里是int和String类型的值){
case 常量:
小括号里的值和case的值相同时就执行这里的代码
break;//这个break不写就穿透了,就100%执行下面的case里面的代码,而不会执行下面的case的判断。
case 常量:
小括号里的值和case的值相同时就执行这里的代码
break;
…
default://缺省
如果都不相同,就执行这里的代码
break;
}
for语句是循环语句,用法为
for(int i=0;i<100:i++){},这样就是括号里的代码执行100次,I的值从0增加到99,因为100不小于100,所以跳出循环。如果不写i<100,那么就是死循环。
如何跳出呢。就可以结合break和if语句使用,当符合if语句的某些条件的时候,使用break;跳出循环,写法就是if(判断条件为真){break;}。
如果遇到某个条件不想执行循环里的代码,但是其他情况都要执行的时候,就接合continue;使用。写法和break;使用相同,if(跳过本次循环的条件){continue;}
while语句也是循环,写法是
while(跳出循环的条件){},什么时候满足跳出循环的条件了,什么时候结束,当然,一样可以结合break和continue一起使用。
do-while语句还是循环语句,写法是
do{}while(判断跳出条件);
do-while语句是先做一遍,后判断。所以do-while语句最少也会执行一次,while语句是先判断,后执行。
9.方法
在编程语言中方法也叫函数,C语言里就把方法叫做函数,java语言中一般就叫方法,其实是一个东西。不要遇到别人说函数的时候就不知道是什么了,其实就是一个方法,可能这个人是从C入门编程的。
定义一个方法
权限修饰符 返回值类型 方法名(参数类型 参数名…){
//方法体。就是代码
}
权限修饰符包含 public->protect->不写->private
权限范围最大就是public,最小是private。
如果没有返回值就写void,如果有返回值,就写上返回值类型。
方法里面的参数可以没有,也可以有一个或者多个,多个的话就用逗号分隔开,如:(int a,int b),如果不确定有多少参数,可以用…表示,如:(int… in)
方法重载
方法名相同,但是参数不同,返回值不同,那么方法名字相同的这些就是方法重载。调用方法的时候,程序会自动匹配你传递的参数类型,找到合适的方法。
10.递归
递归就是方法自己调用自己就是递归了。这个使用的时候一定要想好出口位置,否则就死循环了。
递归非常耗费栈内存,能不用就不用,用的时候也要慎用。
我比较常用的时候就是查找文件夹最里层的文件,或者复制文件的时候把一个文件夹里所有的文件都复制过去的时候,这个时候就用递归吧,因为不知道目录层级到底有多深。