java基础语法
程序员文章站
2022-06-22 10:48:08
...
安利良心Up主,超棒!
1.注释、标识符、关键字
1.1注释
1.1.2单行注释
//输出一个HelloWorld!
System.out.println("Hello World!");
1.1.2多行注释
/*我是多行注释
我是多行注释
我是多行注释
我是多行注释
*/
1.1.3文档注释
/**
*@Author 狂神说
*/
1.2标识符
- 关键字
注意点:
- 标识符由字母、数字、下划线(_)或美元符号组成。
- 标识符的首字母以字母、下划线或美元符号开头,不能以数字开头。
- 标识符命名不能与关键字、布尔值(true/false)和null相同。
- 标识符区分大小写,没有长度限制,坚持见名知意的原则。
合法标识符:age,age_student,$money
不合法标识符:1age,%sex
2.数据类型
- 字节
- 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后使用
- 弱类型语言:要求变量的使用要符合规定,所有变量都必须先定义后使用
数据类型拓展
-
八大基本类型
- 数值类型
- 整数
- byte
- short
- int
- long
- 浮点
- 字符
- boolean类型:true 和 false(只占用一个字符)
byte num1 = 10;
short num2 = 20;
int num3 = 30;
long num4 = 40L;//加L
char c = 'A';
String s = "中国我爱你";
double PI = 3.1415926;
boolean bool = true;
- 引用类型
public class Deom01 {
public static void main(String[] args) {
//整数拓展: 进制:
//二进制0b 八进制0 十进制 十六进制0x
int i = 10;
int i2 = 010;//0~7
int i3 = 0x10;//0~9 A~F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("=========================================");
//===============================================================
//浮点数拓展? 面试题银行业务钱怎么表示?
//BigDecimal 数学工具类
//===============================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f1 = 0.1f;//0.1
double d1 = 1.0/10;//0.1
System.out.println(f1 == d1);//false
float f2 = 213165456421321f;
double d2 = f2 + 1;
System.out.println(f2 == d2);//true
System.out.println("=========================================");
//===============================================================
//字符拓展
//===============================================================
char c1 = '中';
char c2 = 'A';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符的本质还是数字 编码问题
//编码 Unicode 2字节(0~65536) Excel 早年最长65536
//编码表 对应(97 == a; 65 == A;)
//Unicode U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
System.out.println("=========================================");
//转义字符
// \t 制表符
// \n 换行
//===============================================================
//String
//===============================================================
String s1 = new String("Hello World");
String s2 = new String("Hello World");
System.out.println(s1 == s2);//false
String s3 = "Hello World";
String s4 = "Hello World";
System.out.println(s3 == s4);//true
System.out.println("=========================================");
//===============================================================
//boolean
//===============================================================
boolean flag = true;
if(flag){}
if(flag == true){}
}
}
运行结果
3.类型转换
运算中,不同类型的数据先转换为同一类型在计算
int i = 128;
byte b = (byte)i;//内存溢出
//强制转换 高到低 强制 低到高 自动
/*
注意点:
1.不能对布尔值转换
2.不能把对象转换为不相干的类型
3.把高容量转换到低容量的时候,强制转换
4.转换的时候会出现内存溢出或者精度问题
*/
//操作比较大的数据时候,注意溢出问题;
//JDK7新特性,数字之间可以用_分割开
int money = 10_0000_0000;
int years = 20;
int total = money*year;//-1474836480,计算的时候溢出了
long total2 = money*year;//依然溢出,默认是int,转换之前已经出问题了
long total3 = money*(long)year;//true
4.变量、常量
4.1变量
- 变量:就是可以变化的量!
- Java是一种强类型语言,每个变量都必须声明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,作用域
作用域
-
局部变量:必须声明和初始化
-
实例变量: 从属于对象;如果不自行初始化,就为这个类型的默认值
- 整数:0
- 浮点数:0.0
- boolean:false
- 除了基本类型,其他都是null
- 类变量 : static
注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,以" ; "结尾
public class Demo02 {
//类变量 static
static double salary;
//属性:变量
//实例变量:从属于对象
String name;
int age;
/*通过对象变量调用实例变量
如果不自行初始化,则为默认值
*/
public static void main(String[] args) {
//局部变量:必须声明和初始化
int i = 10;
Demo02 demo02 = new Demo02();
System.out.println(demo02.age);
System.out.println(demo02.name);
//类变量
System.out.println(salary);
}
}
4.2常量
- 常量:初始化之后不能再改变的值!不会变动
- 可以看成特殊的变量,他的值被设定之后,在程序运行中不可以被改变
- 常量名一般使用大写字符
//final 为修饰符
static final Double PI = 3.14;
final static Double PI = 3.14;
4.3变量命名规则
5.运算符
位运算符
public class Demo01 {
public static void main(String[] args) {
/*
A = 0101 0010
B = 1011 1110
---------------------------------
A&B = 0001 0010
A|B = 1111 1110
A^B = 1110 1100
~A = 1010 1101
---------------------------------
2*8 怎么快速计算
---------------------------------
<< *2
>> /2
---------------------------------
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
//2*8 = 2*2*2*2
//---------------------------------
int i = 2;
System.out.println(i<<3);
}
}
三元运算符
public class Demo01 {
public static void main(String[] args) {
// x ? y : z;
//如果x==true,返回y,否则返回z
int score = 80;
String type = score < 60 ? "及格" : "不及格";
System.out.println(type);
}
}
精简代码
6.包机制、JavaDoc
包机制(本质为文件夹)
- 为了更好地组织类,Java提供包机制,用于区分类名的命名空间
- 语法格式
package pkg1;
//一般利用公司域名倒置作为包名
- 为了使用某一个包的成员,需要在java里边导入包 import
- *导入所有类
JavaDoc
-
Javadoc命令是用来生成自己API文档的
-
参数信息
/** * @author Lee //作者名 * @version 1.0 //版本号 * @since 1.8 //最早使用jdk版本 * @return String //返回值情况 * @throws Excotion //异常抛出情况 * @param args //参数 */
命令行命令生成帮助文档
javadoc -encoding UTF-8 -charset UTF-8 Doc.java
上一篇: Java http请求封装工具类代码实例
下一篇: TP中统计指定字段的总数