Java基础语法学习
创建一个项目:new -> project -> empty project -> new module
else file -> project structure ( project 里面要配当前环境)
1. 注释
好习惯
平时写代码一定要要注重规范
-
单行注释
//
更改样式:setting -> editor -> color scheme -> Java -> comments
-
多行注释
-
/* */
-
文档注释/** */
/**
* @Desciption HelloWorld
* @Author azy
*/
2. 标识符和关键字
关键字:
Java 所有的组成部分都需要名字。 类名、变量名以及方法名都被称为标识符。
-
所有标识符都应该是以字母,美元符、或者下划线开始
-
首字母之后可以加数字
-
不能使用关键字
-
可以使用中文但是一般不建议,很垃
3. 数据类型
-
Java是强类型语言,要求变量的使用要
严格符合规定,所有变量都必须先定义后才能使用, -
Java数据类型分为两类
public class Demo01 {
public static void main(String[] args) {
//八大基本数据类型
//整数
//Integer类,打开去看
int num1 = 10; //最常用
byte num2 = 20;//不能大于128
short num3 = 30;
long num4 = 40L;//Long类型要在后面+L
//小数
float num5 = 50.1F;//float类型要在后面+F
double num6 = 3.14;
//字符
char name = '帅';//只能是一个字
//字符串,String不是关键字,是类!!!
String name1 = "帅比";
//布尔值
boolean flag = true;
}
}
public class Demo02 {
public static void main(String[] args) {
//整数扩展:进制 二进制0b
int i = 10;
int i2 = 010;//八进制
int i3 = 0x10;//十六进制
//浮点数扩展
//float 有限,离散,舍入误差,大约,接近不等于
//最好完全避免使用浮点数进行比较!!!!
//BigDecimal 数学工具,银行业务
float f = 0.1f; //0.1
double d = 1.0 / 10;//0.1
//f!=d!!!
float d1 = 23333333333333f;
float d2 = d1 + 1;
//d1==d2?
//字符扩展
//可以直接强制转换
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);//97
System.out.println(c2);
System.out.println((int) c2);//20013
//Unicode 表:0~65536
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t制表
// \n换行
//对象 从内存分析
System.out.println("HelloWorld");
String sa = new String("HelloWorld");
String sb = new String("HelloWorld");
System.out.println(sa == sb);//false
String sc = "HelloWorld";
String sd = "HelloWorld";
System.out.println(sc == sd);//ture
//布尔值扩展
boolean flag = true;
if(flag){}
//Less is More!!代码要精简易懂
}
}
4. 类型转换
public class Demo03 {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i;
double d = i;
System.out.println(i);
System.out.println(b);//-128,溢出
System.out.println(d);
//强制转换 (类型)变量 高到低
//自动转换 低到高
/*
1. 不能对布尔类型进行转换
2. 不能把对象类型转化为不相干的
3. 在把高容量转化为低容量的时候,强制转换
4. 转换的时候可能会出现内存问题或者精度问题!
*/
System.out.println("------------");
System.out.println((int) -45.67f);//-45
char c1 = 'a';
int a = c1 + 1;
System.out.println(a);
System.out.println((char) a);
}
}
public class Demo04 {
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;
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
5. 变量、常量、作用域
Java变量是程序中最基本的存储单元
每一个变量声明都要以分号结束
尽量不一行声明多个变量,为了可读性
变量的作用域:
-
类变量
-
实例变量
-
局部变量
public class Demo05 {
//属性:变量
//类变量 static
static double salary = 2500;
//实例变量:从属于对象;如果不进行初始化会输出默认值
//布尔值默认是false。除了基本类型,其余的都是null;
String name;
int age;
//main 方法
public static void main(String[] args) {
// 局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//实例变量:变量类型 变量名字 = new Demo05();
Demo05 demo05 = new Demo05();
System.out.println(demo05.age);//0
System.out.println(demo05.name);//null
//类变量: static
System.out.println(salary);
}
}
常量(Constant):初始化不再改变,可以用于游戏定义长宽高
final 常量名 = 值
常量名一般使用大写字符
public class Demo06 {
static final double Pi = 3.14;//final static double修饰符不存在先后顺序
public static void main(String[] args) {
System.out.println(Pi);
}
}
命名规范:
-
见名知意
-
类成员变量:小驼峰:mouthSalary
-
局部变量:小驼峰
-
常量:大写字母和下划线:MAX_VALUE
-
类名:大驼峰:GoodMan
-
方法名:小驼峰:runRun(),run()
6. 运算符
同c语言
new package新建包,拖拽类进去
Math方法:
//幂运算2^3,调用Math方法
double pow = Math.pow(2,3);
System.out.println(pow);
位运算符:
组成原理的一些东西,底层
字符串连接符号 + String:(小心)
int a = 10; int b = 20; System.out.println(a+b+"");//30 System.out.println(""+a+b);//1020
条件运算符多看也,必须掌握!
7. 包机制
本质就是文件夹
-
一般利用公司域名导致作为包名:
com.baidu.www
com.kuang.operator
com.kuang.base
ctrl + 右键:跳转
alt + enter :自动帮助生成错误信息,改错
package必须放在最上边
-
为了能够使用某一个包的成员,我们需要在程序中明确导入该包。使用“import”完成此功能
import package.[package1].; import com.kuang.operator.Demo01;import com.kuang.base.*;
阿里巴巴开发手册看下!
8. Java Doc
Javadoc命令用来生成API帮助文档
package base;//加在类上
/**
-
@author Azy
-
@version 1.0
-
@since 1.8
*/
public class Doc {
//加在方法上
String name;//属性/**
- 自动生成的
- @param name
- @return
*/
public String test(String name) {//方法
return name;
}
}
cmd命令生成文档:
javadoc -encoding UTF-8 -charset UTF-8 doc.java
index就是API主页。
idea 生成doc文档:
https://blog.****.net/qq_42498502/article/details/90078972