1什么是变量?答:是指代在内存中开辟的储存空间,用于存放运算过程中需要用到的数据。
一个类中不能有2个public以为有pulic要和类名保持一致,有2个的话就不知道是和谁保持一致了,可以用很多类。
2变量的声明答:当需要使用一个变量的时候,必须要对该变量就行声明,变量的声明包含2点,1是变量的基本数据类型,2是变量名比如int a ;int是数据类型a是变量名,可以声明多个变量,比如int a,b,c;等3,变量的初始化答:有2种初始化方法,1是在变量声明时初始化,变量类型变量名=初始值,比如int a=0;2是先声明变量,然后再初始化给变量赋值,,比如int a;a=0;3.1可以对变量中的值进行存取,操作,变量使用之前,要使用与其变量符合的数据类型。
3.2基本数据类型,8种1整数类行:byte,short int(常用),long(常用)2浮点类型:float,double(常用)3,boolean 4 char类型名称字节空间使用场景------------------------------------------------------------------------------------------------------------ byte 丨1字节(8位)丨储存字节数据(较少用)--------------------------------------------------------------------------------------------------------------- short 丨2字节(16位)丨兼容性考虑(很少用)------------------------------------------------------------------------------------------------------------ int 丨4字节(32位)丨存储普通整数(常用)-------------------------------------------------------------------------------------------------------------- long 丨8字节(64位)丨存储长整数(常用)------------------------------------------------------------------------------------------------------------- float 丨4字节(32位)丨存储浮动数(不常用)------------------------------------------------------------------------------------------------------------ double 丨8字节(64位)丨存储双精浮点数(常用)----------------------------------------------------------------------------------------------------------- boolean 丨1字节(8位)丨存储逻辑变量(true,fales)(常用)--------------------------------------------------------------------------------------------------------------- char 丨2字节(16位)丨存储一个字符(常用)---------------------------------------------------------------------------------------------------------------5,基本数据类型转换2种方式转换,1是自动类型转换(隐式类型装换):从小类到大类型可以自动完成;2是强制装换:从大类型到小类型需要强制转换。
5.1基本数据类型是放在栈中,而引用数据类型放在栈中也放在堆中。
因为引用数据类型把new出来的变量名放在栈中,把里面的数据放在堆中去了。
5.1基本数据类型的值传递。
static void ss(int x){(第一次打印)system.out.println(x)x=100;(第二次打印)system.out.println(x)}main方法中定义了int x=20;ss(x);(第三次打印)system.out.println(x)执行mian方法先把int x=20放入了栈里面,然后开始执行ss()方法,把x传递给去x=20,所有第一次打印的是20,然后x=100,第二次打印的是100,执行完了ss()方法之后,方法就在栈里面消失了,然后就留mian里面x=20还在栈中了,所以第三次打印的是20。
5.2引用数据类型地址传递mian方法中如果int[]=nums=new int[]{10,20}再执行ss(nums)方法传递到方法中去这个就叫做地址传递,虽然没有方法在栈中了,但是会改变在堆中的值所以最后打印还是100;6,数学运算符++在前先加再算,++在后先算再加比如int a=1 int b=2;int s=a++;(加加在后)打印是1;int a=1 int b=2;int s=++a;(加加在前)打印是2;一元运算符:++,--;二元运算符有:+,-,*,/,%(取余数);三元运算符:?(如果,if),:(else 否则)。
返回的是布尔类型;7,关系运算符,一般有:>(大于),<(小于),>=(大于或等于),<=(小于或等于),==(等于),!=(不等于)。
位运算符:&(按位与),丨(按位或),~(按位非),^(按位异或),<<(左移),>>(右移)8,调试java程序:当程序结构越来越复杂时,需要专门的技术来发现和定位错误,就是程序调试,传说中的debug,步骤:1,设置断点,在代码行的前面双击就会有一个断点。
break point2,开启调试/单步调试,开启调试(Step into F5),单步调试(step over F6)3观察变量的变化,window里面找show view 里面找debug里面找variables ,在variables 里面观察变量的变化9,数组的使用1,一维数组int[] age={a,b,c},声明了一个整形数组,nums[0]=9,为数组0号元素赋值为9。
初始化一维数组int a[]={1,2,3};创建数组后就不能再修改数组的大小,基本数据类型数组的默认值为0,char型数组元素的默认值为\u0000,布尔类型的数组默认值是flase2动态赋值访问数组元素,3.二维数组:在数组当中存放的每一个元素又是一个数组,比如int1[][] a=new int[][]{age(本身就是一个数组了),{10,11,12}(重新定义的元素),age2};4构造函数的使用:构造函数中不需要定义返回类型,且构造函数的名称与所在的类名完全一致,其余的与函数的特性相同,可以带有参数列表,可以存在函数的重载现象.(假如定义一个User类,User(){}这个就是无参构造函数,,,User(String name){}这个就是有参构造函数,,,public void userfunction(){}这个是普通成员函数)5:java中的构造方法:不用写return,就是与类名相同的方法,用来初始化(public user(){} String name=“zhulin”在调用User user=new User()的时候会把name=“zhulin”自动初始化。
然后输出打印出zhulin)6:自定义构造器:是自己在java代码中定义了一个构造器。
可以写pbulic也可以不写User (){}也可以自定义有参的构造器(User(string username){ name=username(在构造器当中作了初始化)} User user=new User(“zhulin”))当构造器里面带参的话那new 出来的构造器就需要给他赋值;7:构造器重载:方法名称相同,参数不同;10方法(Method):是为了完成一个操作而组合在一起的语句组。
好处是省去代码的重复编写简化代码,提高代码的可读性。
方法的种类:static修饰的方法一般被称作静态方法,方便在没有创建对象的时候调用方法1,内置方法,是由jdk类库提供,需要导入相应的包2,自定义方法,不带参数和带参数的,由方法名称,参数,返回值类型及方法体组成,11重载:在一个方法中定义2个,方法名称相同,参数列表不同。
解决了功能相同,参数不同,就不需要定义多个方法名称(重载只能在类中使用)重写:当子类继承父类的时候,需要写他的方法,方法名相同,参数也相同。
(只能在子类和父类中,好处:解决子类继承父类之后,父类的某方法不能满足子类的的特征,子类就可以重新定义该方法)12,面向对象面向过程:是指所有事情都要按顺序一个一个做(买菜,做菜,吃饭,洗碗);面向对象是基于面向过程而已的,就是说面向过程是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节(去饭店吃饭,只需要找服务员点餐就可以,不需要知道菜是怎么做出来的,把做好的东西给你就行)。
1,面向对象的目的将复杂的事情简单化,2将以前的过程中的执行者变成指挥者,3面向对象是符合现在人们思考习惯的一种思想。
2,面向对象的三大特性:1.封装。
2.继承。
3.多态(假如你是土豪,全家都是土豪)2.1封装:是指将对象的实现细节隐藏起来,然后通过公共的方法向外暴露该对象的功能(比如你今天吃了白菜,别人不知道你中午吃了什么,除非你自己说给别人听)2.2继承:是当子类继续父类后,子类是一种特殊的父类,能直接或间接获得父类里的成员。
(假如你是富二代,那可以肯定你是继承了你父亲的钱)2.3多态:可以直接把子类对象赋给父类变量,但是运行时依然表现出子类的行为特征,意味着同一类型的对象在运行时可能表现出不同的行为特征。
(比如猫和狗都在叫,可以说成是动物在叫,其实他们的行为特征不是一样的,但是是同一类型的)3什么是对象:(objct)可以定义成包含特征和行为的一个实体,对象也称为实例(instance)。
(比如说对象是一个美女,美女状态特征:身高,年龄,皮肤颜色,长短发等,美女的行为,如:走路,说话,唱歌,跳舞,比心等)4类是:把具有相同特征和行为的多个对象的抽象就是类。