java基础知识1--基础 类 等
Java简单说明:
Java 程序先经过javac编译后生成jvm可以读的.class字节码文件,每一个类生成一个.class文件。
数据类型:
Byte(单字节),short(双字节),int(4字节),long(8字节)
最大值和最小值:[ 2字节*8-1 ,2字节*8-1 ],因为有-0和+0。
小数:float,double
Boolean:true,false
Char:双字节,可以存放汉字。在java中对char进行运算的时候,当做ascii码作对应的操作。中文是unicode
可以自动从低精度转换到高进度:int a=1.2 (无法编译通过,损失精度),1.2为double类型,不能给int。
Int a=1; Double b=3.4; A=b; //报错,高精度不能赋值给低精度 Int a=4; Int b=a+3.4; //报错 检查到3.4是单精度, //Float a=3.4 (不能编译通过)因为3.4默认为double,java中的小数都默认为double需要 //Float = 3.4f //强制类型转换 int = (int)1.2
三大流程控制:
循序控制:
分支控制:单分支,双分支,多分支
Switch(条件表达式){
Case 常量1:
语句1:;break;
Caase 常量2:
语句2;break;
.....
Default:
语句;break;
}
//可以使用的数据类型有:byte,short,int,char,enum
//注意条件表达式和常量的类型必须一致
对象:
Persion A = new Persion(); A.age = 10; A.name=“小明”; Persion B; B=A; B.age=200; //B相当于一个指针指向A的地址,即A和B指向同一块内存,修改哪一个都是修改同一个地方
构造函数需要是public的,名字和类一样
类变量:(感觉相当于全局静态变量,公共属性)
Class Child{
Static int age=3;
}
//外部可以直接Child.age 来访问变量age 不需要实例化
类变量是该类所有对象共享的变量,任何一个该类的对象去访问它时,得到的都是同一个值,任何一个该类的对象去修改它时,修改的也是同一个变量。
定义类变量的语法:
访问修饰符 Static 数据类型 变量名
如何访问类变量:
类名.类变量名 或者 对象名.类变量名
类方法:
静态方法,可以用来返回静态变量,减少栈的开销,所有对象共享一个静态方法。
Java规则:原则上类变量用类方法去访问。
类方法中不能访问非静态变量(类变量),类方法只能访问类变量
定义类方法的语法:
访问修饰符 Static 数据类型 方法名(){}
如何访问类变量:
类名.类方法名 或者 对象名.类方法名
public class test { int a =4; public static void main(String args[]) { System.out.println("int a ="+a); } } //会报错 无法从静态上下文中引用非静态变量a //解决方法:将int a=4;设置为静态 static int a=4;或者实例化一个test对象
类中的静态代码区的代码只会执行一次:
Public class Demo { Static int i=1; Static { i++;//此段代码只会执行一次,就算不创建对象也会执行 } Public Demo() { I++; } Public static void main(String [] args) { Demo d1=new Demo();//d1中的i为3 Demo d2=new Demo();//d2中的i为4 } } //非静态方法既可以访问静态变量也可以访问非静态变量