Java基础语法
-
注释、识符、关键字
-
数据类型
-
类型转换
-
变量、常量
-
运算符
-
包机制、JavaDoc
注释
-
平时我们编写代码,在代码量比较少的时候,我们还可以懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
-
注释并不会被执行,是给我们写代码的人看的
-
书写注释是一个非常好的习惯
-
Java中的注释有三种:
-
单行注释 //
-
多行注释 /* */ 可以注释一段文字
-
文档注释 /** */
-
标识符
-
关键字
abstract、assert、boolean、break、byte
case、catch、char、class、const
continue、default、do、double、else
enum、extends、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、viod、volatile、while
-
标识符注意点
-
所以的标识符都应该以字母(A-Z或者a-z),美元符($)/或者下划线(_)开始
-
首字符之后可以是字母(A-Z或者a-z),美元符($)/或者下划线(_)或数字的任何字符组合
-
不能使用关键字作为变量名火方法名
-
标识符是大小写敏感的
-
合法标识符举例:age、$salary、_value、__1_value
-
非法标识符举例:123zcs、-adsd、#acs....
-
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low
-
数据类型
-
强类型语言
要求变量的使用要求严格符合规定,所有变量都必须先定义后才能使用
-
弱类型语言
-
Java的数据类型分为两大类
-
基本数据类型(primitive type)
-
数值类型
-
整数类型
byte占1个字节范围:-128-127
short占2个字节范围:-32768-32767
int占4个字节范围:-2147483648-2147483647
long占8个字节范围:-9223372036854775808-9223372036854775807 (要在数字后面加个L)
-
浮点类型
float占4个字节 (要在数字后面加个F)
double占8个字节
-
字符类型char占2个字节
-
-
-
-
boolean类型:占1位其值只有true(是)和false(非)两个
-
String是字符串,不是关键字,类
-
-
引用数据类型 (reference type)
-
类
-
接口
-
数组
-
-
-
什么是字节
-
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
-
字节(byte):是计算机中数据处理的基本单位,习惯用大写B来表示
-
1B(byte,字节)=8bit(位)
-
字符:是指计算机中使用的字母、数字、字和符号
-
1bit表示1位
-
1Byte表示一个字节1B=8b。
-
1024B=1KB
-
1024KB=1M
-
1024M=1G
-
1024G=1TB
-
-
整数拓展
-
进制
-
二进制0b
-
十进制
-
八进制0
-
十六进制0x 0-9 A-F 16
浮点数拓展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//float 字长有限 离散 舍入误差 大约 接近但不等于
//double
最好完全使用浮点数进行比较
字符拓展
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字节 0 - 65535 Excel 2^16 = 65536
表:(97 = a 65 = A) //U0000 UFFFF
//转义字符
// \t 制表符
// \n 换行
// ......
布尔值扩展
boolean flag = true;
if (flag==true){} //新手
if (flag){} //老手
代码要精简易洁
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
低----------------------------------------------------->高
byte,short,char->int->long->float->double
运算中,不同类型的数据线转化为同一类型,然后进行运算。
//强制转换 (类型)变量名 高--低
//自动转换 低--高
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转化为不相干的类型
-
再把高容量转换到低容量的时候,强制转换
-
转换的时候可能存在内存溢出,或者精度问题
操作比较大的数的时候,注意溢出问题
jdk7新特性,数字之间可以用下划线分割
public class Dem06 { 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);//先把一个数转化为long System.out.println(total3); } }
变量
-
变量是什么:就是可以彼岸花的量!
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的储存单元,其要输包括变量名,变量类型和作用域。
type varName [=value] [{,varName[=value]}]; //数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量。
-
注意事项:
-
每个变量都有类型,类型可以使基本类型,也可以是引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整地语句,因此每一个声明都必须以分号结束。
-
package com.kuang.test; public class Demo02 { //属性:变量 //类变量 static static double salary = 2500; //实例变量:从属于对象;如果不自行初始化,这个类型的初始化值 0 0.0 u0000 //布尔值:默认是false //除了基本类型,其余的默认值都是null String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i = 10; System.out.println(i); //变量类型 变量名字 = new Dem02; Demo02 demo02 = new Demo02(); System.out.println(demo02.age); System.out.println(demo02.name); //类变量 static System.out.println(salary); } //其他方法 public void add(){ } }
变量作用域
-
类变量
-
实例变量
-
局部变量
常量
-
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,再程序运行过程中不允许被改变。
final //常量名=值 final double PI=3.14;
-
常量名一般使用大写字符
package com.kuang.test; public class Demo03 { //修饰符,不存在先后顺序 static final double PI = 3.14; public static void main(String[] args) { System.out.println(PI); } }
变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外,后面单词首字母大小写 lastName
-
局部变量:首字母大小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:Man,GoodMan
-
方法名:首字母小写和驼峰原则:run(), runRun()