Java基础语法
1.注释、标识符、关键字
注释
定义
注释并不会被执行,是用来给人看的,机器不会读取
类型
- 单行注释
- 多行注释
- 文档注释
用法
单行设置://注释内容
//我是注释,不会被执行
多行注释:/*注释内容*/
/*我是注释
我还是注释
我依旧是注释
我们都不会被执行
*/
文档注释:/** * */
/**
* 我是注释
* 我还是注释
* 我依旧是注释
* 输入/**换行
* 我前面的*是自动添加的
*/
例子
public class day02 {
public static void main(String[] args) {
System.out.println("Hello,world");
//我是注释,不会被执行
}
}
public class day02 {
public static void main(String[] args) {
System.out.println("Hello,world");
/*我是注释
我还是注释
我依旧是注释
我们都不会被执行
*/
}
}
public class day02 {
public static void main(String[] args) {
System.out.println("Hello,world");
}
/**
* 我是注释
* 我还是注释
* 我依旧是注释
* 我前面的*是自动生成的
*/
}
标识符
定义
类名、变量名和方法名都叫做标识符
类型
abstract | assert | Boolean | brake | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | estends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
用法
- 所以标识符以字母
A-Z或a-z
、美元符$
、或者下划线开头_
- 首字符后可以是字母
A-Z或a-z
、美元符$
、或者下划线_
的任意组合 - 不能用关键词作为变量名或方法名
- 标识符大小写敏感
- 可以用中文命名。。但是真的有人用中文命名么(小声嘀咕
例子
合法标识符举例
age、$age、_age、_1_age
非法标识符举例
数字开头和除字母以及$和_开头的所有
public class day02 {
public static void main(String[] args) {
String age = "Hello,World";
System.out.println(age);
}
}
输出结果为
Hello,World
2.数据类型
插叙
强类型语言
所有变量必须定义后才能使用
弱类型语言
变量的使用中没有严格规定
分类
- 基本类型(primitive)
- 引用类型(reference type)
基本类型
数值类型
-
整数类型
byte
占1个字节范围:-2^7,2^7-1
short
占2个字节范围:-2^15,2^15-1
int
占4个字节范围:-2^64,2^64-1
long
占8个字节范围:-2^32,2^32-1
-
浮点类型
float
占4个字节范围:3.402823e+38,1.401298e-45
double
占8个字节范围:1.797693e+308,4.9000000e-324
-
字符类型
char
占2个字节
定义的值必须在字节和范围内, 不然会报错
Boolean类型
占1位,值只有 ture
和 false
引用数据类型
- 类
- 接口
- 数组
扩展
位(bit):是计算机内部数据储存的最小单位,1001100是一个七位数二进制数
字节(byte):1B(byte,字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
==================================
1bit表示一位
1Byte表示一个字节1B=8b
1024B=1KB
1024KB=1M
1024M=1G
==================================
二进制 0b,八进制 0,十六进制 0x 开头
(所有的字符本质还是数字)
==================================
浮点数有限,离散型,舍入误差,取大约数,接近但不等于
float a1 = 123f;
float a2 =a1 + 1;
a1==a2
==================================
if(flag==true){}
if(flag){}
两种写法相同
转义字符
转义字符 | 作用 |
---|---|
\t | 制表符 |
\n | 换行 |
3.类型转换
低 ————————————————>高
byte,short,char—>int—>long—>float—>double
强制转换
(类型)变量名
用于高到低
int A1 = 128;
byte A2 = int(A1);//内存溢出
System.out.println(A2);
-128
自动转换
用于低到高
int A1 = 128;
float A2 = A1;
System.out.println(A2);
128.0
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候强制转换
- 转换的时候可能存在内存溢出或者精度问题
4.变量、常量
定义
变量:可以变化的量
常量:初始化之后不能再改变
定义方法
String name = "hello";
//数据类型 变量名 = 值;
int a=1,b=2,c=3;
//可以使用逗号隔开来声明多个同类型变量
==================================
final 常量名=值;
static final double A = 11;
变量作用域
- 类变量
- static
- 局部变量
- {
- 生效区,必须声明和初始化
- }
- 实例变量
- 从属于对象,如果不初始化会变为默认值
- 数值类 0 0.0
- 布尔值 false
- 基本类型外 null
变量的命名规范
- 所有变量、方法、类目:
见名知意
- 类成员变量:首字母小写和驼峰原则,除了第一个单词以为后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线
- 类名:手写字母大写和驼峰原则
- 类方法:首字母小写和驼峰原则
注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
5.运算符
算数运算符 : +
,-
,*
,/
,%
,++
,--
赋值运算符 : =
关系运算符 : >
,<
,>=
,<=
,==
,!=
(不等于),instanceof
逻辑运算符 : &&
,||
,!
=============================
位运算符 : &
,|
,^
,~
,<<
,>>
,>>>
=============================
条件运算符 : ?
,:
扩展赋值运算符 : +=
,-=
,*=
,/=
public class day02 {
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
System.out.println("==================================");
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a>=b);
System.out.println(a!=b);
/*
3
-1
2
0.5
==================================
false
true
false
true
*/
}
}
//% 取余
int a = 25;
int b = 5;
System.out.println(a%b);
//0
//++ 自加(-- 自减用法同)
int c = a++;
System.out.println(c);
System.out.println(a);//先加1再赋值
//25
//26
int d = ++a;
System.out.println(d);
System.out.println(a);//先赋值再加1
//27
//27
/*
&& 且
|| 或
! 非(取反)
*/
public class day02 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b :"+(a&&b));//两个都为真,结果为真
System.out.println("a || b :"+(a||b));//两个有一个真,结果为真
System.out.println("a ! b :"+!(a&&b));//如果真,输出假;如果假,输出真
}
}
==================================
/*
a && b :false
a || b :true
a ! b :true
*/
public class day02 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a += b ; //a = a + b
System.out.println(a);
a -= b ; //a = a - b
System.out.println(a);
System.out.println("==================================");
//字符串连接符
System.out.println(""+a+b);//这里的字符串会连接
System.out.println(a+b+"");//这里的字符串会运算
}
}
==================================
30
10
==================================
1020
30
public class day02 {
public static void main(String[] args) {
int a = 10;
int b = 20;
String c = a+b<20 ?"成功":"失败";
System.out.println(c);
}
}
==================================
失败
6.包机制
定义
包(package):本质上就是一个文件夹,用于区别类名的命名空间
命名规范
一般利用公司域名倒置作为包名
如: vip.mrqin.blog
(一般是com。。。)
使用方法
import 语句
7.JavaDoc
定义
用来生成api文档
参数信息
@author 作者名
@version 版本号
@since jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
例子
后面再补,,,睡觉了睡觉了。