Java基础复习篇
Java基础复习篇
1. 程序运行机制
-
编译型(类比:直接翻译全文)
开发操作系统、C/C++
-
解释型(类比:翻译官逐步解释)
网页、脚本语言(java script)等
Java属于编译型和解释型相结合
2. 注释
-
单行注释
//单行注释 -
多行注释
/*多行注释*/ -
文档注释(Java Dos)
/** *@Author zhangshao */
注意:大厂注释规范
3.标识符和关键字
关键字
标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
- 所有的标识符由任意顺序的字母(A-Z或者a-z),美元符($)、或者下划线(_)组合,但是标识符不能以数字开头
- 不能使用关键字作为标识符
// 错误标识符
int 1a=3;
int #a=1;
int a#=1;
int a!=1;
String Hello World="发现世界"(有空格导致的错误)
4.数据类型
Java为强类型语言,js为弱类型语言
强类型语言:使用严格符和规定,所有变量必须先定义才能使用。
4.1 java的数据类型分为基本类型和引用类型
4.2 补充:
- 位(bit):计算机内部数据储存的最小单位
- 字节(byte):计算机数据处理的基本单位
- 1B(1字节)=8b(位)
- 1024B=1KB
- 1024KB=1MB
- 1024M=1G
- 1024G=1T
4.3 数据类型范围的计算方式
例子:int整形
int整形占4个字节,1个字节=8个比特位,int则有32个比特位,因为在计算机的二进制中有一个符号位,32-1=31,剩下31个位置存放数字
计算:每个位置只能是0,1这两个数字中的任意一个,有两种情况,所以范围为-231~231-1
public class Demo1 {
public static void main(String[] args) {
//整数
byte num1=127;
short num2=32767;
int num3=2147483647;
long num4=922375555555L;//Long类型要在数字后加L
//浮点数
float num5=23.9F;//float类型要在数字后加F/f
double num6=3.13333;
//字符
char name='张';
//字符串String不是关键字,是类名;
String name1="张三";
//布尔值
boolean flag=true;
}
}
4.4 数据类型补充
-
整数类型扩展
-
二进制:0b
-
八进制:0
-
16进制:0x
public class Demo1 { public static void main(String[] args) { int num1=0b1001; int num2=010; int num3=0x10; System.out.println(num1);//9(详情到进制转换查看) System.out.println(num2);//8 System.out.println(num3);//16 } }
-
-
浮点数扩展
!!!最好不要使用浮点数进行比较会出现精度问题
float num1=0.1f; double num2=1/10; System.out.println(num1==num2);//false float num3=2311111111f; float num4=num3+1; System.out.println(num3==num4);//true(存在很大的精度问题) -
字符扩展
所有的字符本质上还是数字
java采用Unicode编码(三种编码见补充)
-
字符串(String属于引用数据类型)扩展
String str1="Hellow"; String str2="Hellow"; System.out.println(str1==str2);//true String str3=new String("Hellow"); String str4=new String("Hellow"); System.out.println(str3==str4);//false System.out.println(str3.equals(str4));//true -
布尔值扩展
boolean flag=true; if(flag)//老手 if(flag==true)
4.5 类型转换
-
低------------------------------------------------------------------>高
byte->short-> in t->long->float->double
-
运算中,不同类型数据先转化为相同类型数据,然后进行运算
-
类型转化分为强制类型转化和自动类型转化
int num1=1000;
byte num2=(byte) num1;
System.out.println(num2);//-24(强制转化高->低,存在内存溢出问题)
System.out.println((int)23.7);//23
System.out.println((int)-45.8F);//-45(强制转化高->低,存在精度问题)
char num5= (char) num1;
System.out.println(num5);//8
double num3=num1;
float num4=num1;
System.out.println(num3);//1000.0(自动转化低->高)
System.out.println(num4);//1000.0(自动转化低->高)
char c='a';
int d=c+1;
System.out.println(d);//98(变量c自动转化为int型进行运算)
- 操作较大的数的时候易发生溢出问题
//JDK7特性,数字之间可以用下划线分割
int money=1_000_000_000;
int years=20;
int total=money*years;
System.out.println(total);//-1474836480,计算的时候溢出
long total1=money*years;
System.out.println(total1);//默认还是int,转化之前已经存在问题
long total2=money*(long)years;
long total3=(long)money*years;
System.out.println(total2);//20000000000(其中一个变成高,计算的时候另一个自动由低转化为高)
System.out.println(total3);
5. 变量
- Java是强类型语言,每个变量都必须声明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
5.1 变量作用域
- 类变量(静态变量)是类中处于方法之外的变量,用static修饰;
- 实例变量
- 局部变量
6.常量
初始化后不能再改变的值!不会变动的值;常量名使用大写
final double PI=3.14;
7.变量命名规范
8.运算符
8.1补充:在数值类型中,若级别小于in t,进行计算的时候,最终的数据类型会自动转化为in t,如果高于in t,最终数据结果会取其中最高的一个(例如:操作较大的数的时候易发生溢出问题例子)
long a=123123123123123123L;
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
8.2 ++ 自增/-- 自减(一元运算符)
int a=3;
int b=a++;
System.out.println(a);//a=4
System.out.println(b);//b=3先给b赋值再自增
int c=++a;
System.out.println(a);//a=5
System.out.println(c);//b=5先自增再给c赋值
8.3 幂运算
使用工具类计算
double pow=Math.pow(2,3);
System.out.println(pow);//8.0
8.4 三元运算符
int a=3;
int c=a>3?4:3;
System.out.println(c);//3
8.5 位运算符
8.6 字符串连接符
int a=3;
int b=5;
System.out.println(""+a+b);//35
System.out.println(a+b+"");//8
9.包机制
-
一般利用公司域名倒置作为包名
-
import package.java.io.ObjectStreamField; import package.zhang.* //.*通配符,导入包下所有文件 -
阿里开发手册:包名统一使用小写,点分隔符之间,有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用负数形式。例如:应用工具类包名com.alibaba.ai.util、类名为MessageUtils;
10. JavaDoc生成文档
-
javadoc命令是用来生成自己的API文档的
-
参数信息
10.1 通过命令行生成文档
package com.zwy.basic;
/**
* @author Zhangwenyu
* @version 1.0
* @since 1.8
*/
public class JavaDoc {
String name;
/**
* @param name
* @return
* @throws Exception
*/
public String test(String name)throws Exception{
return name;
}
}
生成的html文件
10.2 用idea生成文档
-
首先随便新建一个文件夹
-
选中所要生成的包
-
点击顶部工具(Tools)菜单,并选择生成javadoc(Generate JavaDoc)这个选项
-
①然后会弹出一个界面,然后在输出目录(Output directory )输入框后面的按钮点击进去选择我们刚才创建 的文件夹(JavaDoc),②然后在区域设置(locale框)里填写zh_CN,意思是这个代表的就是中文,③输完之后在下面的其他命令行式参框(Other command line arguments:)中输入下面这行编码-encoding utf-8 -charset utf-8(k可以看到和前面的Dos命令框做法一致),意思是用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。
5.打开文件夹生死的html文件

浙公网安备 33010602011771号