1.注释、标识符、关键字
书写注释是一个很好的习惯
-
注释
-
单行注释 //
-
多行注释 /* */
-
文档注释 /** */
-
-
标识符
-
关键字
abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
-
Java所有的组成部分都需要有名字。类名、变量名以及方法名都被称为标识符。
-
标识符注意点
-
所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
-
首字母之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
-
不能使用关键字作为变量名或方法名
-
标识符是大小写敏感的
-
可以使用中文命名,但是不建议,也不建议使用拼音
-
-
2.数据类型
-
强类型语言
-
要求变量的使用要严格符合规定,所以变量都必须先定义后才能使用
-
-
弱类型语言
Java的数据类型
1.基本类型(primitive type)
数据类型 | 关键字 | 内存占用 | 范围 |
---|---|---|---|
字节类型 | byte | 1字节 | -128~127 |
短整型 | short | 2字节 | -32768~32767 |
整形 | int | 4字节 | -2^31 ~2^31 - 1 |
长整型 | long | 8字节 | -2^63 ~ 2^63 - 1 |
单精度浮点数 | float | 4字节 | 有范围,一般不关注 |
双精度浮点数 | double | 8字节 | 有范围,一般不关注 |
字符型 | char | 2字节 | 0~65535 |
布尔型 | boolean | 没有明确规定 | true 和 false |
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010;//八进制0 int i3 = 0x10;//十六进制0x //======================================================== //浮点数拓展 银行业务怎么表示? //bigDecimal 数学工具类 //======================================================== //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好完全避免使用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); //false float d1 = 23232232232f; float d2 = d1+1; System.out.println(d1==d2); //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 2字节 65536 Excel 2的16次方 == 65536 //从对象 从内存分析 String sa = new String("hello world"); String sb = new String("hello world"); System.out.println(sa==sb);//flase String sc = "hello world"; String sd = "hello world"; System.out.println(sc==sd);//true //布尔值拓展 boolean flag = true; if (flag==true){} if(flag){} //两个表达是相等的
2.引用类型(reference type)
-
类
-
接口
-
数组
3.转义字符
4.字节
-
位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数
-
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B表示
-
1B(byte,字节)=8bit(位)
-
字符:是指计算机中使用的字母、数字、字和符号
-
1bit表示1位
-
1Byte表示一个字节 1B=8bit
-
1024B=1KB
-
1024M=1G
5.类型转换
由于Java是强类型语言,所以要进行有些运算时,需要用到类型转换
低------------------------------------------------->高 byte,short,char -->int --> long --> float --> double
强制类型转换 (类型)变量名 高---低
自动类型转换 低 ---高
注意点
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换为低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题
6.变量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
-
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
-
-
命名规范
-
有意义的名称:变量名应当能够清楚地反映其用途,避免使用单个字符或无意义的缩写,使代码更加直观易懂。
-
驼峰命名法:Java变量命名普遍采用驼峰命名法,即第一个单词小写,之后每个单词首字母大写,如 myVariableName。
-
避免使用关键字:Java关键字,如 class、int、boolean等,不能用作变量名。
-
区分大小写:由于Java对大小写敏感,相似的变量名在大小写上的不同会被视为完全不同的变量。
-
数字不开头:变量名不能以数字开头,但可以包含数字。
-
命名约定:根据变量的类型(如局部变量、实例变量、静态变量等),遵循相应的命名约定,以增强代码的清晰度和一致性。
-
常量:大写字母和下划线,如MAX_VALUE
-
类名:首字母大写和驼峰原则,如Man,GoodMan
-
方法名:首字母小写和驼峰原则,如run(),runRun()
-
public class Demo01 { //类变量 static static double salary = 2500; //属性:变量 //实例变量:从属于对象: 如果不自行初始化,这个类型的默认值 0 0.0 //布尔值:默认false //除了基本类型,其余的默认值都是null; String name; int age; //main方法 public static void main(String[] args) { //局部变量;必须声明和初始化值 int i = 10; System.out.println(i); //变量类型 变量名字 = new Demo01(); Demo01 demo01 = new Demo01(); System.out.println(demo01.age); System.out.println(demo01.name); //类变量 static System.out.println(salary); } //其他方法 public void add(){ } }
7.常量
-
常量:初始化后不能再改变值!不会变动的值
-
常量名一般使用大写字符
final 常量名 = 值 final double PI = 3.14; //修饰符不分先后顺序
8.运算符
-
算术运算符:+,-,*,/,%,++,--
-
赋值运算符:=
-
关系运算符:> , < , >= , <= , == , != , instanceof
-
逻辑运算符:&&,||,!
-
位运算符:&,|,^, ~,>> , << , >>>(了解)
-
条件运算符:?:
-
扩展赋值运算符:+=,-=,*=,/=
package operator; public class Demo01 { public static void main(String[] args) { //二元运算符 int a = 10; int b = 20; int c = 25; int d = 25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b);//小数的时候注意范围 } } //================================================================================= package operator; public class Demo02 { public static void main(String[] args) { long a = 121212121211L; int b = 123; short c = 10; byte d = 8; System.out.println(a+b+c+d);//Long System.out.println(b+c+d);//Int System.out.println(c+d);//Int //Int以上自动升为混合运算类型中最高类型 Int以下类型都为Int System.out.println("==============================================================="); //位运算 /* A = 0011 1100 B = 0000 1101 --------------------------- A&B = 0000 1100 两个都为1才为1,否则为0 A|B = 0011 1101 对应位都是0则结果为0,否则为1 A^B = 0011 0001 相同则为0,否则为1(同0异1) ~B = 1111 0010 取反 2*8 = 16 2*2*2*2 <<(左移) 相当于*2 >>(右移) 相当于/2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<3); } }
9.JavaDoc
Javadoc命令是用来生成自己API文档的
参数信息:
-
@author 作者名
-
@version 版本号
-
@since 指明需要最早使用的JDk版本
-
@param 参数名
-
@return 返回值情况
-
@throws 异常抛出情况
package com.zhang.Java_base; /** * @author yexing * @version 1.0 * @since 1.8 */ public class Doc { String name; /** * @author yexing * @param name * @return * @throws Exception */ public String test(String name) throws Exception{ return name; } //通过命令行 javadoc 参数 java文件 ---> javadoc -encoding UTF-8 -charset UTF-8 Doc.java //作业:学会查找使用idea生成javadoc文档! }