Java基础
1.注释\标志符\关键字
1.1注释
书写注释是一个非常重要的习惯 !!!
平时写代码一定要注意规范 !!!
Java中的注释有三种:
- 单行注释 line comment
- 多行注释 block comment
- 文档注释 JavaDoc
1.2标志符
Java 所有的组成部分都需要名字. 类名\变量名以及方法名都被成为标志符.

1.2.1标志符注意点:
-
所有的标志符都应该以字母(A-Z或者a-z),美元符,下划线 '_' 开始 ;
-
首字母之后可以是字母(A-Z或者a-z) ,美元符 , 下划线 或者数字的任何字符组合 ;
-
不能使用关键字作为变量名或者方法名 ;
-
标志符是大小写敏感的 !!! ;
String man = "hello"; String Man = "hello"; -
通常不使用中文,拼音 ;
2.数据类型
2.1数据类型
-
强类型语言
要求变量的使用要严格符合规定, 所有变量都必须先定义后才能使用(Java) ;
-
弱类型语言
JS, WB
-
Java的数据类型分为两大类
-
基本类型(primitive type)
-
引用类型(reference type)
-
-
基本类型
-
数值类型
-
整数类型
-
byte占1个字节范围:-128~127
-
short占2个字节范围:-32768~32767
-
-
int占4个字节范围:-2147483648~2147483647
-
long占8个字节范围
//long类型要在数据后面加上L; long num = 12414L;
-
-
浮点类型
- float占4个字节
//float类型要在数据后面加上F; float num = 3.14F;- double占8个字节
-
字符类型 char占2个字节
-
-
boolean类型 占一位其值只有true和false
-
-
引用类型
- 类
- 接口
- 数组
2.2拓展
2.2.1整数拓展
//进制
int i = 10;
int i1 = 010;//八进制
int i2 = 0x10;//十六进制
System.out.println(i);//10
System.out.println(i1);//8
System.out.println(i2);//16
2.2.2浮点数拓展
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
最好完全避免使用浮点数进行比较
float f = 0.1f;
double d = 0.1;
System.out.println(f==d);//false
System.out.println(f);//0.1
System.out.println(d);//0.1
float f1 = 12214214f;
float f2 = f1+1;
System.out.println(f1==f2);//true
原因
浮点数是有限长的, 离散的, 存在舍入误差.
银行业务怎么表示
BigDecimal
2.2.3字符拓展
//所有的字符本质还是数字
char c1 = 'a';
char c2 = '中';
System.out.println(c1);//a
System.out.println((int)c1);//97
System.out.println(c2);//中
System.out.println((int)c2);//20013
转义字符
//\t 制表符
//\n 回车
2.2.4布尔值拓展
boolean flag = true;
if (flag==true){};//新手
if (flag){};//老手
//Less Is More 代码要精简易读
2.3字节
- 位(bit) : 是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数 ;
- 字节(byte) : 是计算机中 数据处理 的基本单位,习惯上用大写B来表示 ;
- 1B = 8byte
- 字符 : 是指计算机中使用的字符, 数字, 字和符号;
2.4思考 : 电脑的32位和64位的区别
2.4.1 32位和64位是什么?
32位和64位意思是处理器一次能处理的最大位数;
2.4.2 区别在哪里?
- CPU要求不同。CPU有32位和64位之分,32位的CPU只能安装32位系统,而64位的CPU既可以安装32位系统也可以安装64位系统;
- 运算速度不同。64位CPU的指令集可以运行64位数据指令,比32位CPU提高了一倍;
- 寻址能力不同。32位系统的处理器最大只支持到4G内存,而64位系统最大支持的内存高达亿位数,实际运用过程中大多数的电脑32位系统最多识别3.5GB内存,64位系统最多识别128GB内存;
- 软件兼容性不同。64位系统比32位系统的软件少,主要是64位系统推出的时间不长,所以64位系统的兼容性不如32位,虽然可以兼容32位软件,但是部分32位的软件在64位系统无法运行,但是目前的Win7 64位系统兼容性好了很多;
3.类型转换
由于Java是强类型语言, 所以要进行有些运算的时候, 需要类型转换.
3.1强制转换/自动转换
当从高容量转换到低容量时,需要使用强制转换;当从低容量转换到高容量时,可以使用自动转换.
int i = 128;
byte b = (byte)i;//内存溢出 强制转换
double c = i;//自动转换
3.2注意点
- 不能对布尔值进行类型转换;
- 不能把对象转换为不相干的类型;
- 在把高容量转换到低容量的时候需要强制转换;
- 转换的时候可能存在内存溢出或者精度问题.
3.3拓展
操作比较大的数的时候,要注意内存溢出问题(JDK7的新特性,数字之间可以用下划线分割).
int money = 10_0000_0000;
System.out.println(money);//1000000000
int year = 20;
int total = money*years;
long total2 = money*years;//默认是int,转换之前已经存在溢出
long total3 = money*(long)years;//先把一个数转换为long
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
4.变量\常量
4.1变量 Variable
变量是什么: 就是可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型.
Java变量是程序中最基本的存储单元,其要素包括变量名, 变量类型和 作用域 .
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值;
//可以使用逗号隔开来声明多个同类型的变量.(但不建议)
//int a,b,c;//不可使用
//int a=1,b=2,c=3;//程序可读性差
String name = "autumn";
char x = 'x';
double pi = 3.14;
4.1.2注意事项
- 每个变量都有类型, 类型可以是基本类型, 也可以是引用类型 ;
- 变量名必须是合法的标志符 ;
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束 ;
变量作用域
- 类变量
- 实例变量
- 局部变量
public class Variable{
static int allClicks=0;//类变量
String str="hello world";//实例变量 从属于对象;如果不自行初始化,这个类型的默认值0 0.0;布尔值默认时为false;除了基本类型,其余的默认值都是null
public void method(){
int i=0;//局部变量 必须声明和初始化值
}
}
4.2常量 Constant
常量: 初始化(initialize)后不能再改变值! 不会变动的值.
所谓常量 可以理解为一种特殊的变量, 它的值被设定后, 在程序运行过程中不允许被改变.
final 常量名=值;
final double PI=3.14;
常量名一般使用大写字符.
4.3变量的命名规范
- 所有变量, 方法, 类名: 见名知意 ;
- 类成员变量: 首字母小写和驼峰原则: monthSalary 除了第一个单词以外, 后边的单词首字母大写;
- 局部变量: 首字母小写和驼峰原则;
- 常量: 大写字母和下划线;
- 类名: 首字母大写和驼峰原则;
- 方法名: 首字母小写和驼峰原则: run(), runRun();
5.运算符
Java语言支持如下运算符:
- 算术运算符: +, -, *, /,%, ++, --
- 赋值运算符: =
- 关系运算符: >, <, >=, <=, ==, !=, instanceof
- 逻辑运算符: &&, ||, !
- 位运算符: &, |, ^, ~, >>, <<, >>>(了解)
- 条件运算法: ? :
- 扩展赋值运算符: +=, -=, *=, /=
5.1 拓展
字符串连接符
int a = 10;
int b = 20;
a+=b;//a=a+b
a-=b;//a=a-b
System.out.println(a);
//字符串连接符 + ,string
System.out.println(a+b);//30
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
System.out.println(a+b+""+a+b);//301020
6.包机制\JavaDoc
6.1包机制
为了更好的组织类, Java提供了包机制, 用于区别类名的命名空间.
包语句的语法格式为:
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名 www.baidu.com com.baidu.www
为了能够使用某一个包的成员, 我们需要在Java程序中明确导入该包. 使用"import"语句可以实现此功能.
import package1[.package2...].(classname|*);
6.2JavaDoc
javadoc命令是用来生成自己API文档的.
参数信息:
@author 作者名
@version 版本名
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
使用cmd生成JavaDoc文档
-
通过open in Explorer打开文件目录;
-
在文件夹目录前添加cmd打开命令行
-
使用javadoc命令
javadoc -encoding UTF-8 -charset UTF-8 xxx.java
使用IDEA生成JavaDoc文档
-
Tools-->generate javadoc
![]()
-
必填选项
Genrate JavaDoc scope
Output directory
Other command line arguments
-encoding UTF-8 -charset UTF-8
