Java基础语法
注释、标识符、关键字
注释
-
平时我们编写代码,在代码量较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是一个非常好的习惯
-
Java中的注释有三种:
-
单行注释
//我是单行注释 -
多行注释
/* 我是多行注释 我是多行注释 我是多行注释 我是多行注释 我是多行注释 我是多行注释 */ -
文本注释
/*** *@Author 语零 这个是有反馈的 * */ //例子; /*** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ____/`---'\____ * . ' \\| |// `. * / \\||| : |||// \ * / _||||| -:- |||||- \ * | | \\\ - /// | | * | \_| ''\---/'' | | * \ .-\__ `-` ___/-. / * ___`. .' /--.--\ `. . __ * ."" '< `.___\_<|>_/___.' >'"". * | | : `- \`.;`\ _ /`;.`/ - ` : | | * \ \ `-. \_ __\ /__ _/ .-` / / * ======`-.____`-.___\_____/___.-`____.-'====== * `=---=' * * ............................................. * 佛祖保佑 永无BUG * 佛祖镇楼 佛祖镇楼 */
-
标识符
-
关键字
abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally fioat 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 -
Java所有的主城部分都需要名字。类名、变量名以及方法名都被称为标识符。
标识符注意点:
-
所有的表示符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
-
首字符之后可以是字母(A-Z或者a-z),美元符($)、或者下划线(_)或数字的任何字符组合
-
不能使用关键字作为变量名或方法名。
-
标识符是大小写敏感的
-
合法标识符距离:Ahello、hello、$hello、_hello
-
非法标识符距离:123abc、-salary、#abc
public class demo01 { public static void main(String[] args) { String 作者 = "语零"; String zuozhe = "语零"; } } -
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low。而且时间长了你会发现拼音好像比代码还难理解很奇怪
数据类型
-
强类型语言
- 要求变量使用要严格符合规定,所有变量都必须先定义后才能使用
-
弱类型语言
- 要求变量使用要符合规定,所有变量都必须先定义后才能使用
-
Java的数据类型分为两大类
-
基本类型(primitive type)
-
数值类型
-
整数类型
- byte占1个字节范围:-128--127
- short占2个字节范围:-32768--32767
- int占4个字节范围:-2147483648--2147483647
- long占8个字节范围:-9223372036854775808--9223372036854775807
-
浮点类型
- float占4个字节
- double占8个字节
-
字符类型char占2个字节
-
-
boolean类型:占1位其值只有true和false两个
public class demo02 { public static void main(String[] args) { //八大基本类型 //整数 int num1 = 10; byte num2= 20; short num3 = 30; long num4 = 30L; //小数:浮点数 float num5 = 50.1F; double num6 = 3.1415926535897932384; //字符 char name = '国'; //字符串,String不是关键字,类 //String namea ="语零"; //布尔值: 是非 boolean flag = true; //boolean flag = false; } }
-
-
引用类型(reference yupe)
- 类
- 接口
- 数组
科普: 什么是字节
- 位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。
- 字节(byte):是计算机中 数据处理 的基本单位, 习惯上用大写B来表示
- 1B(byte,字节)=8bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1Byte 表示一个字节1B=8b。
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
-
拓展:
/**
* @Author 语零
* @Create 2021-06-17-16:34
*/
public class demo03 {
public static void main(String[] args) {
//整数拓展: 进制 二进制 十进制 八进制 十六进制
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("==========================================");
//==========================================
//浮点数拓展: 银行业务怎么表示? 钱
//BigDecimal 数学工具类
//==========================================
//float 有限 离散 舍入误差 大约 接近单不等于
//double
//最好完全不要使用浮点进行比较
//最好完全不要使用浮点进行比较
//最好完全不要使用浮点进行比较
//上面这两个是有问题的
float f = 0.1f;//0.1 f:0.1
double d = 1.0/10; //0.1 d:0.1
System.out.println(f==d); //结果false
float f1=123124115154532f;
float d1=f1+1;
System.out.println(f1==d1);//true
//==========================================
//字符拓展:
//==========================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换 并不是所有都可以强制转换
System.out.println(c2);
System.out.println((int) c2);//强制转换
//所有的字符本质还是数字只是转换成机器能看懂的数字了
//编码 Unicode 表 (97 = a 65 = A) 2字节 0~65536 Excel 2 16 ==65536 就这么厂
//U0000~UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
//....
System.out.println("==========================================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);//false
String sc ="hello world";
String sd ="hello world";
System.out.println(sc==sd);//true
//对象 从内存分析
//布尔值 扩展
boolean flag = true;
if (flag==true){}//新手
if (flag){}//老手 //两个一样
//less is More! 代码要精简易读
}
}
类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低======================================>高 byte,short,char=>int=>long=>float=>double -
运算中,不同类型的数据先转化位同一类型,然后进行运算。
-
强制类型转换
/** * @Author 语零 * @Create 2021-06-17-21:53 */ public class demo04 { public static void main(String[] args) { int i = 128; double b = i;//内存溢出 //强制转换 (类型)变量名 高--低 //自动转换 低--高 System.out.println(i); System.out.println(b); /* 注意点: 1、不能对布尔值进行转换 2、不能把对象类型转换成不相干的类型 3、再把高容量转换成低容量的时候,强制转换 4、转换的时候可能存在内存溢出,或者精度问题! */ System.out.println("================="); System.out.println((int)23.7);//23 System.out.println((int)-45.89f);//-45 System.out.println("================="); char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char)d); } }注意事项
/** * @Author 语零 * @Create 2021-06-17-22:03 */ public class demo05 { public static void main(String[] args) { //操作比较大的数的时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money = 10_0000_0000; int years = 20; int total = money*years;//-1474836480,计算的时候溢出了 long total2 = money*years;//默认是int,转换之前已经存在问题了? long total3 = money*((long)years); System.out.println(total3); } } -
自动类型转换
变量、常量
变量
-
变量是什么:就是可以变化的量!
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基础的存储单元,其要包括变量名,变量类型和作用域。
type varName [=value][{,varName[=value]}]; //数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量。 //不建议在一行里定义多个值 -
注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
变量作用域
- 类变量
- 实力变量
- 局部变量
常量
-
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,他的值被设定后,再程序运行过程中不允许被改变。
final 常量名 = 值 ; final double PI = 3.14; -
常量名一般用大写字符
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则: onthSalary 除了第一个单词意外,后面的单词首字母大写lastname lastName
- 局部变量: 首字母小写和驼峰原则
- 常量: 大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun
运算符
-
Java语言支持如下运算符:
-
算术元素安抚: +,-,*,/,%取余(模运算),++,--
package operator; /** * @Author 语零 * @Create 2021-06-18-10:55 */ public class Demo03 { public static void main(String[] args) { //++ -- 自增 自减 一元运算符 int a=3; int b = a++;//执行玩这行代码后,先给b赋值,再自增 //a++ a = a+1 System.out.println(a); //a=4 //++a a = a+1 int c = ++a;//执行玩这行代码前,先自增,在给C赋值 System.out.println(a); System.out.println(b); System.out.println(c); //幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作! double pow = Math.pow(2, 3); System.out.println(pow); } } -
赋值运算符 =
-
关系运算符:>,<,>=,<=,==等于,**!= 不等于 ** instanceof
package operator; /** * @Author 语零 * @Create 2021-06-18-10:51 */ public class Demo02 { public static void main(String[] args) { //关系运算符 返回的结果: 正确 错误 布尔值 //if int a = 10; int b = 20; int c = 21; System.out.println(c%a); // c/a 21/10 得2....余1 System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b); } } -
逻辑运算符: && (与), || (或), ! (非)
-
下面的会就行
- 位运算符;&,|,^,~,>>,<<,>>>(了解!!!)
- 条件运算符?:
- 拓展赋值运算符:+=,-=,*=,/=
-
包机制、JacaDoc
-
包机制
-
为了更好的组织类,Java提供了包机制,用于区别类的命名控件.
-
包含语句的语法格式为:
package pkg1[.pkg2[.pkg3...]] -
一般利用公司域名倒置为包名
-
为了能够使用摸一个包的成员,我么你需要在Java程序中明确导入该包.使用"import"语句即可完成此功能
import package1[.package2].(classname|*);
-
-
JavaDoc
- javadoc命令用来声称自己API文档的
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最招使用的JDK版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
javadoc -encoding UTF-8 -charset UTF-8

浙公网安备 33010602011771号