基础语法
1:@SuppressWarnings("unused") //告诉编译器 不使用创建的变量也不会报错
2:static void main 之后要加个{}main方法是程序的主线程
3:基本数据类型 primitive type :常用的数字,字符串,字符等
4:引用类型 reference type:类,接口,数组
5:一般String类型均需要用""双引号,而char类型需要用''单引号圈起
6:数字类型所占二进制数:int:32;double:64;float:32;short:16;char:16;long:64;boolean:8;byte:8
7:转换从低级到高级(根据容量来看: byte,short,char—> int —> long—> float —> double
高级向低级转换有可能会精度降低或溢出。>强制类型转换
低级向高级转换>自动转换
8:int操作较大数时要留意是否溢出,溢出的话就要转化为更高级的类型,不然输出的会是负数
9:变量有:类变量(static 定义),实例变量(方法外部、类的内部定义的变量),局部变量(在使用前必须先声明和初始化(赋初值)。)
10:常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。且命名开头常用大写字母
11:运算符
一元运算符:+-*除% java中的^为异或符号
二元运算符:++ --
逻辑运算符:逻辑与:&&和&,逻辑或:||和|,逻辑非:!<==短路逻辑
位运算符:&,^,>>,<<,|,~取反
三目条件运算符:x ? y : z
x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整
个运算结果为表达式z的值。
12:一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问 保护和命名空间管理的功能。
如:建了一个叫做animals的包。通常使用小写的字母来命名避免与类、接口名字的冲突
package animals;
interface Animal {//animals 包中加入一个接口(interface)
public void eat();
public void travel();
}
import 导入包
java 源文件中 import 语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条
import package1
public class baseI {
@SuppressWarnings("unused") //告诉编译器 不使用创建的变量也不会报错
public static void main(String[] args){ // static void main 之后要加个{}
// main方法是程序的主线程
System.out.println("hello world");
//基本数据类型 primitive type 引用类型 reference type:类,接口,数组
System.out.println("基本类型:byte 二进制数:"+ Byte.SIZE); //8位二进制
System.out.println("基本类型:byte 最大值:"+ Byte.MAX_VALUE);//127
System.out.println("基本类型:byte 最大值:"+ Byte.MAX_VALUE);
System.out.println("Byte的包装类是 java,lang.Byte,他的最小值是Byte.MIN_VALUE:"+ Byte.MIN_VALUE); //-128
System.out.println("");
// short
System.out.println("基本类型:short 二进制数:"+Short.SIZE); //这里的short中的S大写16位二进制
// 8位二进制等于1个字节
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE); //32位二进制
System.out.println("基本类型:double 二进制位数:" + Double.SIZE); //64位二进制
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);//32位二进制
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);//64位二进制
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);//16位二进制
System.out.println();
// 整形
int i1 = 100;
int i=10;
int i2=010; //八进制以0开头
int i4=0x10; // 16进制以0x开头
// 短整型
//定义的变量在代码中并未使用且无法访问
short i3 =235; //这里不调用他 它就会报错 The value of the local variable i3 is not used
// 浮点型
/* 浮点数总结
1.默认是double
2. 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需
要使用BigDecimal类。
3. 避免比较中使用浮点数
boolean类型有两个值,true和false,不可以 0 或非 0 的整数替代 true 和 false
*/
double d1 = 3.5; // 双精度
double d2 = 3;
// float(3.5) python 的习惯 方法包着参数
// 但java想把参数包着方法,但位置顺序不变
float f1 = (float)3.5; //单精度
float f2 = 3.5f; // 单精度
System.out.println("打印int型");
System.out.println(i); //10
System.out.println(i2); //8
System.out.println(i3); //235
System.out.println(i4); //16
System.out.println("打印double型");
System.out.println(d1); //3.5
System.out.println(d2); //3.0
System.out.println("打印float型");
System.out.println(f1); //3.5
System.out.println(f2); //3.5
//布尔类型 boolean true真 / false假
boolean ispass = true;//boolean是一个字节,也就是8位二进制
boolean isOk = false;
boolean isBIg = 5>8;
if(ispass){
System.out.println("通过了");//它if一个语句都要用{}括着,else也要用{}括着
}
else{
System.out.println("未通过");
//单字符
char f = '女'; //"女"char类型需要用''圈起
char m = '男'; // char是2个字节 也就是16位2进制
}
//转换从低级到高级(根据容量来看)
// byte,short,char—> int —> long—> float —> double
//容量小的数据类型可以自动转换为容量大的数据类型。
/*short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为
32,可以自动转换为64位的double类型。
*/
//在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。==>强制类型转换
double x = 3.14;
int nx = (int)x; //值为3
char c = 'a';
int d = c+1;
System.out.println(d); //98
System.out.println((char)d); //b
// 操作较大数时要留意是否溢出
int money = 1000000000; //10亿
int years = 20;
int total = money*years; //返回的是负数
long total1 = money*years; //返回的仍然是负数。默认是int,因此结果会转成
// int值,再转成long。但是已经发生了数据丢失
long total2 = money*((long)years); //先将一个因子变成long,整个表达式发
// 生提升。全部用long来计算。
System.out.println(total);
System.out.println(total1);
System.out.println(total2);
//变量名
/*类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。
实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。
局部变量(lacal variable):类的方法中的变量 */
// static int allClicks=0; // 类变量 static定义了main 就不能定义其他类变量了么
//使用static定义。
// 从属于类,生命周期伴随类始终,从类加载到卸载
String str="hello world"; // 实例变量
/*方法外部、类的内部定义的变量。
从属于对象,生命周期伴随对象始终。
如果不自行初始化,他会自动初始化成该类型的默认初始值
(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
*/
// public void method(){
// int i =0; // 局部变量 在使用前必须先声明和初始化(赋初值)。
// }
//常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
// 命名一般用大写字符
// final 常量名=值;
final double PI=3.14; final String LOVE="hello";
/*运算符:
一元运算符:+-*除% java中的^为异或符号
二元运算符:++ --
逻辑运算符:逻辑与:&&和&,逻辑或:||和|,逻辑非:!<==短路逻辑
位运算符:&,^,>>,<<,|,~取反
三目条件运算符:x ? y : z
x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整
个运算结果为表达式z的值。
*/
int score = 80;
String type = score < 60 ? "不及格" : "及格";
System.out.println("type= " + type);
//包机制
//一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问
// 保护和命名空间管理的功能。
}
}