java基础知识
一.java的语言特点
1.面对对象
面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性
2.简单好用
3.健壮性
4.安全性
5.平台无关性
Java由于虚拟机JVM的存在,所以可以跨平台运行。
6.支持多线程
7.分布式
8.编译与解释共存
二.Java的基本语法
1.数据类型
整型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
2.标识符
a.标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符
b.不能以数字开头。如:123name不合法
c.标识符严格区分大小写。如:tmooc 和 Tmooc是两个不同的标识符
d.标识符的命名最好能反映出其作用,做到见名知意。
e.标识符不能是Java的关键字
3.引用类型
数组
类
接口
4.自动类型转换
a.小字节类型数据可以直接保存到大字节类型的变量中。
b.整型数据可以直接保存到浮点型变量中。
short s = 123;
int i=s;
5.强制类型转换
同类型下,如果大字节类型的数据强制保存到小字节类型的变量中,需要强制类型转换
int i=123;
byte b=(int) i;
6.关键字
在Java中,有一些单词被赋予了特定的意义,一共有53个关键字。这53个单词都是全小写,其中有两个保留字:const和goto。
7.变量
保存数据的内存区域,其中的数据可以变化。
8.定义变量
数据类型 变量名;
9.变量赋值
变量名=值;
=右边的值有默认的数据类型。
整数默认为int,小数默认double类型。
10.变量初始化
数据类型 变量名 = 值;
变量需要定义、赋值后才能使用。
int i;
System.out.println(i);
11.运算符
运算符种类 | 写法 | 注意事项 |
算数运算符 | + - * / % | + - * 两端都是数值是当做相加减乘,有一端是字符串时当做拼接 两个整数相除/,结果只保留整数部分 eg:10/3=3; |
关系运算符 | > < >= <= == 1= | 关系运算的结果都是布尔型 |
逻辑运算符 | && || ! | &&和||符号两端是两个表达式 &&和||称为短路运算符,当第一个表达式能确定结果时,不再判断第二个表达式 |
自增 自减运算符 | -- ++ | 非单独成行,符号在前,先+1或-1,再使用 非单独成行,符号在后,先使用,再+1或-1 |
赋值运算符 | = += -= *= /= %= | 给整型变量赋值,=右边可以是整型或字符型 给字符型变量赋值,=右边通常是一个单引号引起来的字符,也可以是一个整数或转义字符 eg:a*=b+c 相当于 a=a*(b+c) |
12.条件运算符
a.单语句
表达式1?表达式2:表达式3
b.双语句
双分支语句,先执行表达式1,结果为true时执行表达式2,结果为false时执行表达式3
13.运算符的优先级
小括号>>单目运算符(!、++、--)>>算术>>关系>>逻辑>>条件>>赋值
eg:
int year=2000;
String res=(year%4==0&&year%100!=0)||year%400==0?"闰年":"平年";
一个表达式中,如果有不同的数据类型参与运算,最终的结果以表达式中字节最大的数据类型为准。
eg:
int a=12;
double b=3;
double res=a/b;
double res=10.0/4;
double res=10/4.0;
double res=(double)10/4;
14.条件语句
if语句
a.if单分支语句
if(小括号中都是一个表达式){
}
最终结果为布尔型
b.if双分支语句
if(小括号中都是一个表达式){
}else{
}
c.if多分支语句
if(){
}else if(){
}else if(){
}else{
}
d.if嵌套语句
if(){
if(){
}
}else{
if(){
}
}
注意事项:在方法的if语句中出现return,就不再执行后续的代码。
如果方法的返回值是void,return后无需添加值,如果不是void,return后必须添加值。
可以将if嵌套改造为if-return。
eg:
public static void main(String [] args){
if(2>1){
return;//提前结束main方法
}
System.out.println("程序结束");//这句话不会输出
}
public int chu(int a,int b){
if(b==0){
System.out.println("0不能作为除数");
return 0;
}
return a/b;
}
15.swith语句
switch case 语句用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(非long整型、char、String、enum){
case 可能的值:
break;
case 可能的值:
break;
case 可能的值:
break;
case 可能的值:
break;
default:
break;
}
注意事项:可以不写break,会继续执行后续case后的内容。
如果能例举出一件事情的分支,建议使用swtich语句。
如果一件事情的分支是范围时,只能使用if语句。
16.循环语句
while语句
while(循环条件){
循环体
}
do-while语句
do{
循环体
}while(循环条件);
for语句
for(定义循环变量;循环条件;更新循环变量){
循环体
}
注意事项:while和for循环如果条件一开始就不成立,一次都不执行。do-while循环会至少执行一次后再做判断。
循环条件都是布尔值。
当已知循环次数时,建议使用for循环;未知循环次数时,建议使用while循环;先执行一次后再判断时使用do-while循环。
循环控制
- break终止整个循环
- 如果循环中有swtich语句,switch中的break只能终止switch,不能终止循环。
- continue停止本次循环,进行下次循环。(不再执行continue后续的代码)
- break和continue通常配置if语句使用
循环嵌套
在循环中继续循环。外层循环执行一次,内层循环执行一轮。
循环嵌套不要嵌套太多层。
三种循环的区别:
三种循环都可以互相代替
1、 for:知道循环次数
2、 while/do while:当循环次数不确定时
3、 while:先判断,不符合规则,不执行代码
4、 do while:代码最少被执行一次,再去判断,符合规则,再次执行代码
17.数组
一组类型相同的数据的有序集合。在内存中是一块连续的区域。
每个数据都称为元素,每个元素有自己的唯一索引,从0计数。
数组一旦定义后,其数据类型和大小不可改变,无法获取当前数组中的元素数量。
18.数组的定义
- 数据类型[] 数组名 = new 数据类型[]{元素1,元素2...};
- 数据类型[] 数组名 = {元素1,元素2...};
19.数组的取值和赋值
通过"数组名[下标]"访问。
String[] nameList={"admin","qwe","ez"};
//赋值
nameList[1]="小明";
//取值
String name=nameList[0];
System.out.println(name);
20.数组特点
-
数组可以通过“数组名.length”获取其长度
-
数组定义后,如果没有对其赋值,会有默认值
- 整型默认0,浮点型默认0.0,字符默认空白字符,布尔型默认false,引用类型默认null
-
通常使用增强for循环遍历数组
String[] nameList={"admin","qwe","ez"};
for(String name : nameList){
System.out.println(name);
}
三.个人总结
这部分整体来说就是java语言的基础部分,可能不是很全面,学完发现还是会有很多的基础知识会被遗忘,还是需要不断的重复练习才可以去解决这些问题,线上学习的这一部分可能注意力没有线下的时候集中,但是整体来说还是学到了许多的知识,反正就是要不断学习,但是也要及时的巩固之前的知识