java的基础语法
注释
-
平时代码量多的时候,我们需要到注释
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是一个非常好的习惯
java中的注释有三种
-
单行注释 两个// 可以注释一行文字
-
多行注释 /**/ 两个星里面写注释 可以注释一段文字
-
文档注释 /**开头 */结尾 中间写注释 可以加参数 描述
可以百度搜索有趣的代码注释
标识符
java所有组成的部分都需要名字,类名,变量名,以及方法名都被成为标识符
-
所有的标识符都应该以字母,$或者_开始
-
首字母之后可以是字母,$,_或数字的任何字符组合
-
不能使用上图的关键字作为变量名或方法名
-
标识符是大小写敏感的
-
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,因为会很low,而且不规范
数据类型
强类型语音:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
java的数据类型分为两大类:
-
基本类型(primitive type)
-
引用类型(reference type)
基本数据类型(primitive type):
数值类型:
整数类型:
-
byte占1个字节范围
-
short占2个字节范围
-
int占4个字节范围
-
long占8个字节范围
整数拓展:
进制: 二进制0b 十进制 生活中正常的数字 八进制0 十六进制0x
例如:
-
int i =10 输出10
-
int i =010 输出8
-
int i =0x10 输出16
浮点类型:
-
float占4个字节
-
double占8个字节
浮点数字拓展:
float: 有限 离散 驶入误差 大约 接近但不等于
最好完全使用浮点数进行比较
例子:float f =0.1f double d = 0.1 f==d 输出false
float f =0.1313131313131f double d = f+1 f==d 输出true
字符类型
char占2个字节
字符拓展:
所有的字符本质还是数字,可以通过强制转换成数字
转义字符
-
\t 制表符
-
\n 换行
-
....
boolean类型
占1位其值只有true和false两个
布尔值扩展:
boolean flag = true;
if(flag==true){}
if(flag){}
上面两个if语句表达的意思是一样的
String不是数据类型,是字符串
引用数据类型(reference type):
什么是字节
-
位(bit):是计算机内部数据储存最小单位,11001100是一个八位二进制数
-
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
-
1B(byte,字节)=8bit(位)
-
字符:是指计算机中使用的字母,数字,字和符号
-
1bit表示1位,
-
1Byte表示一个字节 1B=8b
-
1024B=1KB
-
1024KB=1M
-
1024M=1G
-
1024G=1TB
类型转换
-
由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
-
低-----------高
-
byte,short,char->int->long->float->double
-
运算中,不同类型的数据先转换为同一类型,然后在进行运算
-
强制转换 (类型)变量名 高--低
-
自动转换 低---高
注意点:
-
不能对布尔类型转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换为低容量的时候,强制转换
-
转换的时候可能存在内存溢出或者精度问题
变量
-
变量是什么: 就是可以变化的量
-
java是一种强类型语言,每个变量都必须声明其类型
-
java变量是程序中最基本的储存单元,其要素包括变量名,变量类型个作用域
注意事项:
-
每个变量都有类型,类型可以是基本类型也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都要用;结束
局部变量
public static void main(String[] args){
//这里面是局部变量,必须声明和初始化值
}
实例变量
public class Demo{
//属性:变量
//实例变量:从属于对象,可以理解从属于类
String name;
int age;
public static void main(String[] args){
Demo demo = new Demo();
System.out.println(demo.age);//输出0
System.out.println(demo.name);//输出null
/*
之所以会输出这些,是因为实例变量如果不初始化,会输出这个类型的默认值 布尔类默认是false 除了基本类型,其他的默认值是null
*/
}
}
类变量
public class Demo{
//类变量 static
static double salary =1000;//salary:工资
public static void main(String[] args){
System.out.println(salary);
}
}
常量
-
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值
-
所谓常量可以理解成一种特殊的变量,他的值被设定后,在程序运行的过程中不允许被改变
-
常量名一般使用大写字符 例: final double PI=3.14;这就是常量
变量的命名规范
-
所有变量,方法,类名:见名知意
-
类成员变量:首字母小写和驼峰命名原则:className
-
局部变量:首字母小写和驼峰命名原则
-
常量:大写字母和下划线:MAX,MAX_VALUE
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则:run(),runMarkdown()
运算符
java语言支持的运算符
idea的快捷键:ctrl+d 复制当前行到下一行
-
算术运算符:+,-,*,/,%(模运算,取余),++,--
-
赋值运算符:=
-
关系运算符:>,<,>=,<=,==,!=instanceof 返回的值是布尔值
-
逻辑运算符:&&,||,! 与或非
-
位运算符:&,|,^,~,>>,<<,>>> 了解
-
条件运算符?:
-
扩展赋值运算符:+=,-=,*=,/=
public class Demo{
//++ -- 自增 自减 一元运算符
int a = 3;
int b = a++;//执行完代码后,先给b赋值,在自增
system.out.println(a);//输出4
int c = ++a;//执行完代码后,先自增,在给c赋值
System.out.println(a);//输出5
System.out.println(b);//输出3
System.out.println(c);//输出5
}
//逻辑运算符
public class Demo{
public static void main(String[] args){
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//false
System.out.println("a || b:"+(a||b));//true
System.out.println("! (a && b)"+!(a&&b));//true
}
}
字符串连接符 +,String
public class Demo{
public static void main(String[] args){
int a =10;
int b =20;
System.out.println(""+a+b);//输出1020
System.out.println(a+b+"");//输出30
//如果字符串在前面 后面会拼接
//如果字符串在后面 前面的依旧会进行运算
}
}
三元运算符 x ? y : Z
如果x==true,则结果为y,否则结果为Z,例如:
public class Demo{
public static void main(String[] args){
int score = 90;//score成绩
String type = score<60 ?"不及格":"及格"
System.out.println(type); //输出及格
}
}
javaDos
javadoc命令是用来生成自己API文档的
参数信息
-
@author 作者名
-
@version 版本号
-
@since 指定需要最早使用的jdk版本
-
@param 参数名
-
@return 返回值情况
-
@throws 异常抛出情况
命令行输入 javadoc -encoding UTF-8 -charset UTF-8 Doc.java查看自己写的API文档
注:感谢狂神说java的免费视频,让我有了写博客的习惯,并让我重新进修了一遍,复习以及学到了底层原理