Java基础语法
注释
-
注释并不是会被执行,是给我们写代码的人看的
-
书写注释是一个好习惯。
-
Java 中的注释有三种:
-
单行注释://
-
多行注释:/* */
-
文档注释:/** */
有趣注释:
-
/***
* ___====-_ _-====___
* _--^^^#####// \\#####^^^--_
* _-^##########// ( ) \\##########^-_
* -############// |\^^/| \\############-
* _/############// (@::@) \\############\_
* /#############(( \\// ))#############\
* -###############\\ (oo) //###############-
* -#################\\ / VV \ //#################-
* -###################\\/ \//###################-
* _#/|##########/\######( /\ )######/\##########|\#_
* |/ |#/\#/\#/\/ \#/\##\ | | /##/\#/ \/\#/\#/\#| \|
* ` |/ V V ` V \#\| | | |/#/ V ' V V \| '
* ` ` ` ` / | | | | \ ' ' ' '
* ( | | | | )
* __\ | | | | /__
* (vvv(VVV)(VVV)vvv)
* 神兽保佑
* 代码无BUG!
*/
标识符
关键字

标识符注意点
-
所有的标识符都因该以字母(A-Z 或者 a-z)、美元符($)、下划线( _ )开始
-
首字母之后可以是字母(A-Z 或 a-z)、美元符($)、下划线( _ )、数字的任何字符组合
-
不能使用关键字作为变量名或方法名
-
标识符是大小写敏感的
-
可以使用中文命名,但是一般不建议,也不建议使用拼音
数据类型
强类型语言
-
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
-
java、.NET、C/C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
弱类型语言
-
弱类型语言也称为弱类型定义语言。与强类型定义相反。像vb,php等就属于弱类型语言·
语言有:
无类型:不检查,甚至不区分指令和数据
弱类型:无类型的不检查,甚至不区分指令和数据
强类型:检查很弱,仅能严格的区分指令和数据
动态语言和静态语言
-
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
-
对于动态语言与静态语言的区分,套用一句流行的话就是:Sta
Java的数据类型分为两大类
-
基本类型(primitive type)
-
数值类型
-
整数类型:byte 占 1 个字节、short 占 2 个字节、int 占 4 个字节、long 占 8 个字节
-
浮点类型:float 占 4 个字节、double 占 8 个字节
-
字符类型:char 占 2 个字节
-
-
boolean类型:占 1 位,其值只有 true 和 false 两个
-
true:表示为真
-
false:表示为假
-
-
-
什么是字节
-
位(bit):是计算机内部数据存储的最小单位,11001100是一个八位的二进制数。
-
字节(byte):是计算机中数据处理的基本单位,习惯上用大写 B 类表示
-
1B(byte字节)= 8bit(位)
-
字符:是指计算机中使用的字母、数字、字、符号
1bit表示 1 位。
1Byte表示一个字节 1B = 8b
1024B = 1KB
1024KB = 1M
....
-
整数拓展:
public static void main(String[] args) {
//整数拓展: 进制 二进制:0b 十进制 八进制:0 十六进制:0x
int i = 0b10; //二进制:0b
int i1 = 10; //十进制
int i2 = 010; //八进制:0
int i3 = 0x10; // 十六进制:0x
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
}
浮点数拓展
public static void main(String[] args) {
//银行业务怎么表示? 使用 BigDecimal 数学工具类
//float:有限的、离散的、有舍入误差
//double
float a = 0.1f;
double b = 1.0/10;
System.out.println(a == b); //false
System.out.println(a); //0.1
System.out.println(b); //0.1
}
字符集拓展
public static void main(String[] args) {
//字符集拓展
char a = 'a';
char b = '露';
System.out.println(a);
System.out.println((int)a);//强制转换
System.out.println(b);
System.out.println((int) b);//强制转换
//所有的字符本质还是数字
//底层查询的是 Unicode 表
}
-
引用类型(reference type)
类型转换
-
强制转换:(类型)变量名 高 -> 低
-
自动转换:低 -> 高
注意点
-
不能对布尔值进行转换
-
不能把对象类型转换位不相干的类型
-
在把高容量转换到低容量时,强制转换
-
强制转换时,会存在内存溢出或精度丢失问题
精度丢失问题:
public static void main(String[] args) {
//精度丢失
System.out.println((int) 12.222);//12
System.out.println((int) -33.333);//-33
}
把浮点类型转为整数类型时,会将小数点之后的数据截取掉,只保留整数部位。
内存溢出问题:
public static void main(String[] args) {
//内存溢出
//jdk7的新特性:数字用下划线分隔,下划线不会被输出
int moniy = 10_0000_0000;
int year = 20;
int result = moniy * year;
System.out.println(result); //-1474836480:结果为负数,因为此时数据超过了int类型的最大接收量,导致内存溢出了
//解决方法,可以将 year 变量转换为 long 类型
long result1 = moniy * (long)year;
System.out.println(result1);//20000000000
}
变量、常量
变量
-
变量时什么:就是可以变化的量!
-
java 时一种强类型语言,每个变量都必须声明类型
-
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
注意事项:
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域:
-
类变量:用 static 修饰
-
实例变量:Demo06 demo06 = new Demo06();
-
局部变量:只能在当前方法中使用的变量
public class Democrat {
static int i = 100; //类变量:在类中,方法外,并使用 static 关键字修饰
String str = "100"; //实例变量:在类中,方法外
public static void main(String[] args) {
double dou = 100; //局部变量
}
}
public class Demo06 {
//类变量:static 关键字表示该变量为类变量
static int i = 100;
//实例变量:从属于对象
//整数类型默认值:0
//浮点数默认值:0.0
//布尔类型默认值:false
//引用类型默认值:null
String name;
int age;
public static void main(String[] args) {
//局部变量:必须先声明和初始化
int i = 10;
add(i);
System.out.println("这是主方法" + i);
//变量类型 变量名称 = new Demo06();
Demo06 demo06 = new Demo06();
System.out.println(demo06.age);
System.out.println(demo06.name);
}
public static void add(int i){
System.out.println("这是子方法" + i );
}
}
常量
-
常量(Constant):初始化(initialize)后不能在改变值!不会变动的值
-
值被设定后,在程序中是不可改变的;
public class Demo09 {
//final:表示 i 为常量
static final int i = 10;
public static void main(String[] args) {
System.out.println(i);
}
}
变量的命名规范
-
所有的变量、方法、类名:做到见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则
运算符
Java 语言支持的运算符
-
算术运算符:+、-、*、/、%、++、--
-
赋值运算符:=
-
关系运算符:> 、< 、>=、 <=、 ==、 !=、instanceof
-
逻辑运算符:&&、||、!
-
位运算符:&、|、^、~、>>、<<、>>>
-
条件运算符:( ?:)
-
扩展运算符:+=、-=、*=、/=
public static void main(String[] args) {
//幂次方计算:借用工具类 math
double pow = Math.pow(2, 3);
System.out.println(pow);
}
包机制、JavaDoc
包机制
-
为了更好地组织类,Java提供了包机制,用于区分类名地命名空间。
-
包语句地语法格式为:
-
package pkg1[.pkg2[.pkg2...]]
-
-
一般利用公司域名倒置作为包名
-
为了能够使用某一个包地成员,需要在 Java 程序中明确导入该包。使用 import 语句即可。
JavaDoc
-
javadoc的作用:生成一个开发帮助文档之类的。
使用idea生成javaDoc文档:
-
首先我们需要新建一个文件夹用于存放JavaDoc的文件
-
接下来点击IntelliJ IDEA顶部的Tools菜单,选择Generate JavaDoc选项
-
然后在弹出的界面中我们点击Output directory输入框后面的按钮
-
在弹出的选择文件夹界面中选择刚才新建的文件夹
-
接下来在底部的Locale输入框配置语言和编码集,语言:zh_CN,代表中文,编码集:-encoding UTF-8 -charset UTF-8
-
然后点击确定以后我们就等待IntelliJ IDEA给我们生成JavaDoc文档即可
-
接下来我们打开JavaDoc文件夹,找到index.html文件
-

浙公网安备 33010602011771号