Java基础
Java基础
编译型和解释型区别
- 编译型:将源文件全部写完,然后统一编译。
- 解释型:边执行,边解释。
Java二者都有具备,先编译再解释。
注释
注释:不会被计算机执行,提供给程序员,便于程序理解
-
单行注释
public class Hello{ public static void main(String[] agrs){ System.out.println("Hello World!"); //输出Hello World! } } -
多行注释 /* 注释 */
public class Hello{ public static void main(String[] agrs){ System.out.println("Hello World!"); /*在这里 能够实现 打印Hello World!功能*/ } } -
文档注释 /** 注释 */
/**
*文档注释
* @Description 这段代码输出Hello World!
* @Author Lerry
*/
public class Hello{
public static void main(String[] agrs){
System.out.println("Hello World!");
}
}
标识符和关键字
关键字
起名字时不能用关键字
标识符
标识符:类名,变量名,方法名都被称为是标识符
规范:1. 以字母,$,下划线开头
2.标识符大小写敏感
3.不建议使用中文命名
数据类型
- Java是强类型语言,变量必须先定义后使用
- 强类型语言安全性高,但速度慢
扩展:
-
整数扩展:进制
二进制0b 八进制0 十六进制0x
int a1=0b10; //a1=2;二进制表示法 int a2=010; //a2=8;八进制表示法 int a3=10; //a3=10;十进制表示法 int a4=0x10; //a4=16;十六进制表示法 -
浮点数扩展:浮点数不能比较是否相等,当涉及到大小比较的时候应该用大数 BigDecimal
public class start { public static void main(String[] agrs){ float a1=12.23f; double a2=12.23; System.out.println(a1==a2); //false a1和a2并不相等 } } -
字符型扩展:
public class start { public static void main(String[] agrs){ String a1=new String("H"); String a2=new String("H"); System.out.println(a1==a2); //false 利用构造器构造了两个数值一样的对象 } }-
强制类型转换
public class start { public static void main(String[] agrs){ char a='a'; char b='a'; System.out.println((int)a); //97 强制将char类型转化为int类型 System.out.println(b); //a } } -
转译 \t水平制表(到下一个tab位置) \n换行
-
-
布尔值扩展:
if(a==true){} if(a){} //含义相同
类型转化
由低到高:
char,byte,short-->int-->long-->float-->double
强制类型转换
用高容量转为低容量 (转换类型)变量名
public class start {
public static void main(String[] agrs){
char a='a';
System.out.println((int)a); //97 强制转换
System.out.println(a); //a
int x=10;
System.out.println((double)x); //10.0
float m=1.03f;
int n=1+(int)m; //不强制转换会报错
System.out.println(n);
}
}
自然类型转换
有低容量转为高容量 不用加操作
public class start {
public static void main(String[] agrs){
char s='a';
int i=s+1; //将s自然转换为int,然后+1
System.out.println(i); //98
}
}
在操作比较大的数时,考虑溢出
public class start {
public static void main(String[] agrs){
int a=10_0000_0000;
int b=20;
long c=a*b;
System.out.println(c); //-1474836480 内存溢出
//c=a*b,因为a,b均为int类型,所以进行乘法运算时已经溢出,后面的类型转换并不能解决问题
System.out.println(a*((long)b)); //20000000000
//将其中一个数进行强制类型转换就可以解决这个问题
}
}
变量,常量,作用域
-
变量:内存中的一块可以存储的空间 定义规范:变量类型 变量名 变量值;
-
常量:保持不变的值,是特殊的变量,常量名全部使用大写字母,用final修饰
-
作用域:起作用的范围
public class start {
//实例变量:从属于对象,可以不设置初始化,使用时要先构建类对象,布尔值默认初始值为false
static String name;
//类变量:需要初始值,可以在方法中直接调用
//修饰符顺序无所谓先后(static,final)
static final double PI=3.14;
public static void main(String[] agrs){
//局部变量,定义在方法之中,必须设置初始值,可以在方法中直接调用
int a=10; //作用域在该方法内部
System.out.println(a);
//实例变量使用
start x=new start();
Syste.out.println(x.name);
//类变量使用
System.out.println(PI);
}
}
注意:
- 变量命名采用首字母小写和驼峰原则:nameSalary
- 常量命名全为大写,若太长可在中间加下划线:MAX_SIZE
- 方法名命名也遵循首字母小写和驼峰原则
- 类名命名遵循首字母大写和驼峰原则
基本运算符
-
算数运算符:+ ,- ,*, / ,%, ++(自增) ,--(自减)
-
赋值运算符: =
-
关系运算符:>, < ,>=, <=,==,!=,instanceof
-
逻辑运算符:&&,||,!
-
位运算符:&,|,^,>>,<<,
-
条件运算符:x?a :b
-
扩展赋值运算符:+=,-=,/=,*=
包机制
-
包名:公司域名的倒置
例如:www.baidu.com的包名应设置为com.baidu.www
-
导入包:import 包名
-
使用包:package 包名
package comm; //将start类放在comm包里
import java.util.*; //导入java.util包里所有类
public class start {
}
}
注意:package必须在代码的最上面
JavaDoc文档
package comm;
import java.util.Scanner;
/**
* @author lerry
* @version 1.0
* @since 15 //jdk版本
*/
public class Title {
/**
* @return //返回值
* @param args //传入参数
* @throws Exception //抛出异常
*/
public static void main(String[] args) throws Exception {
// write your code here
// read data from console
cmd中执行格式:javadoc 参数设置 Java文件
\src\comm>javadoc -encoding UTF-8 -charset UTF-8 title.java
在IDEA中生成javadoc文档:
在Tools中选中Generate JavaDoc,填写相关信息即可
Output directory:API生成后的位置
command line argument: 其他命令行实参,设置字符编码,防止出现中文乱码报错

浙公网安备 33010602011771号