Java的基础语法(强类型语言)
文章目录
1. 注释,标识符,关键字
注释
(书写注释是一个非常好的习惯)
单行注释
多行注释
文档注释
标识符
大小写敏感
大小写字母开头,_开头,$开头
别的方式开头都不能用,关键字不可以使用
关键字
2.数据类型
强类型语言
弱类型语言
Java的数据类型分为两大类
- 基本类型(priimitive type)
- 基本数据类型{
byte
short
int
long
float
double
char
boolean
}
- 引用类型(reference type)
字节
进制
二进制0b 十进制 八进制0 十六进制0x 开头
避免完全使用浮点型数字比较
public class Demo04 {
public static void main(String[] args) {
int i = 10;//十进制
int i1 = 010;//八进制0
int i2 = 0b10;//二进制0b
int i3 = 0x10;//十六进制0x
System.out.println(i); //i=10
System.out.println(i1); //i1=8
System.out.println(i2); //i2=2
System.out.println(i3); //i3=16
System.out.println("=================================================");
//浮点数扩展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好避免完全使用浮点数进行比较
//最好避免完全使用浮点数进行比较
//最好避免完全使用浮点数进行比较
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d); //false
float d1 = 32323231313232323232f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //true
System.out.println("=================================================");
//字符拓展
//所有的字符本质还是数字
// 编码 Unicode 表:(97 = a 65 = A) 2字节 0 - 65536
// U0000 ~ UFFFF
char c1 = 'a';
char c2 = '中';
char c3 = '\u0061';
System.out.println(c1); //a
System.out.println((int)c1); //97
System.out.println(c2); //中
System.out.println((int)c2); //20013
System.out.println(c3); //a
System.out.println("=================================================");
//转义字符
// \t 制表符
// \n 换行
System.out.println("Hello\tWorld!"); //Hello World
System.out.println("Hello\nWorld!"); //Hello
//World
System.out.println("=================================================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb); //false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd); //true
//布尔值扩展
boolean flag = true;
if(flag==true){}//新手
if(flag){}//老手
}
}
3.类型转换
public class Demo05 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i;//内存溢出
// 强制转换 (类型)变量名 高--低
// 自动转换 低--高
/*
低-------------------------------------高
byte,short,char->int->long->float->double
*/
System.out.println(i); //128
System.out.println(b); //-128
/*
注意点
1. 不能对布尔值进行转换
2. 不能把类型转换为不相干的类型
3. 在把高容量转换到低容量的时候,强制转换
4. 转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("===============================");
System.out.println((int)23.7); //23
System.out.println((int)-45.25f); //-45
System.out.println("=================================");
char c = 'a';
int d = c + 1;
System.out.println(d); //98
System.out.println((char)d); //b
}
}
public class Demo06 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK7新特性 , 数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money * years; //-1474836480,计算的时候溢出了
long total2 = money * years; //-1474836480,默认是int,转换之前已经存在问题了
long total3 = money * ((long)years); //先把一个数转换为Long型
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
4.变量,常量
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class Demo07 {
public static void main(String[] args) {
//int a,b,c;
//int a=1,b=2,c=3; //程序可读性
int a=1;
int b=2;
int c=3;
String name = "xiaokai";
char x = 'X';
double pi = 3.1415926;
}
}
变量的作用域
- 类变量 (类里面,static修饰的变量)
- 实例变量 (类里面,没有static修饰的变量)
- 局部变量 (方法里面的变量)
import java.sql.SQLOutput;
public class Demo08 {
//类变量
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值
//布尔值:默认是false
//除了基本类型,其余的默认值都是null;
String name;
int age;
//main 方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10 ;
System.out.println(i);
System.out.println("===============================");
//如何使用实例变量
//变量类型 变量名字 = new Demo08();
Demo08 demo08= new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
System.out.println("=====================================");
//类变量
System.out.println(salary);
}
//其他方法
public void add(){
}
}
public class Demo09 {
//修饰符不存在先后顺序
static final double PI = 3.14;
final static double P = 3.14;
public static void main(String[] args) {
System.out.println(PI);
System.out.println(P);
}
}
变量的命名规范
- 所有变量,方法,类名:见名知意
- 类成员变量:首字母小写和驼峰原则
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线 MAX_VALUE
- 类名:首字母大写和驼峰原则
- 方法名:首字母小写和驼峰原则
5.运算符
Java语言支持以下运算符:(优先级 多使用()优先级一目了然)
- 算术运算符:+,-,*,/,%(取余),++,–
- 赋值运算符 =
- 关系运算符:>,<,>=,<=,==,!= , instanceof
- 逻辑运算符:&& || ! 与或非
- 位运算符:& | ^ ~ >> << >>>(了解!)
- 条件运算符 ? :
- 扩展赋值运算符:+= , -= , *= , /=
package operstor;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//Ctrl + D 复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println((double)a/b);
}
}
package operstor;
public class Demo02 {
public static void main(String[] args) {
long a = 123123123L;
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
}
}
package operstor;
public class Demo03 {
public static void main(String[] args) {
//关系运算符返回的结果: 正确 错误 布尔值
int a = 10;
int b = 20;
int c = 21;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(c%a);//取余,,模运算
}
}
package operstor;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增 自减 一元运算符
int a = 3;
int b = a++; //执行完这行代码后,先给b赋值,再自增
//a++ a = a+1;
System.out.println(a);
//++a a = a + 1
int c =++a; 执行完这行代码后,先自增,再给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算
double pow = Math.pow(2, 3); //Alt + Enter
System.out.println(pow);
double pow1 = Math.pow(4, 5);
System.out.println(pow1);
}
}
6.包机制,JavaDoc
- 包语句的语法格式为:
package pkg1[]; - 一般利用公司域名倒置作为包名;
- 为了使用某一个包的成员,需要在Java 程序中导入该包。使用“import”语句可完成此功能
inport package1.*;
* 表示导入这个包下的所有的类;
JavaDoc
加在类上面就类的注释,加在方法上面就是方法的注释;
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throw 异常抛出情况
通过命令行 javadoc 参数 Java文件
使用IDEA生产JavaDoc文档?