java基础语法(三)
来源:互联网 发布:交友网站多语言源码 编辑:程序博客网 时间:2024/06/05 20:24
数组
对数组的理解,我们可以把他认为一个容器,里面盛放多个相同数据类型相同的数据。数组的元素都是通过下标来访问的,下标是从0开始。
数组的使用
- 先创建,在赋值。
int[] array;array = new int[5];//需要注意要指定数组大小array[0] = 1;
- 创建带赋值
int[] array1 = new int[]{1,1,1,1,1,1};//创建带赋值
数组的遍历
int[] array1 = new int[]{1,1,1,1,1,1}; for(int i = 0;i<array1.length;i++){ System.out.println(array1[i]); }
需要注意的
- 使用for循环遍历
- 数组的下标是从0开始,所以从0开始遍历,最后的下标是数组长度减一。如果超过数组下标,会出现数组越界的错误。
- 数组名.length是获取数组的长度.
方法
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,
2、返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
方法的定义与调用
public class Java1 { public static void main(String[] args) { Java1 object = new Java1(); object.show(); } public void show (){//中括号中是方法体 System.out.println("我是方法"); }}
在java中思想是面对象,所以在调用属性或者方法的时候,一定要构造对象。调用方法是通过对象.方法名()。
带返回值方法
public int sum() { int a = 10; return a; }注意点:
- void和return是老死不相来往,有void的地方,就不能有return。
- return只能返回一个值,不可以返回多个。
- return之后返回对的数据类型必须和方法申明的返回类型一致。
- 方法中执行的语句,必须都需要在return之前。
带参数的方法
public void show(String name){ System.out.println(name); }
public static void main(String[] args) { Java1 object = new Java1(); object.show(); object.show("liushuai"); }
通常我们在方法中传参数,在调用方法的时候,进行赋值。
判断方法重载
需要注意的一点,在你没有申明其他的构造函数,这时你用的系统的构造函数,但是如果你申明了其他构造方法,在想用系统的无参的构造函数一定要申明出来,否则不能调用无参函数
构造方法的重载同上面讲的方法重载基本一致。
方法的重载
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:
public void show (){System.out.println("我是方法"); } public void show(String name){ System.out.println(name); }
判断方法重载
- 方法必须在同一个类
- 方法名必须相同
- 方法的参数类型,顺序,个数不同
执行方法时,是根据参数来选定方法的。
面向对象
定义类步骤
- 定义类名
- 定义类的属性
- 定义类的方法
使用对象步骤
- 类名 对象名 = new 类名();
- 对象名.属性
成员变量与局部变量
成员变量是定义在自己类中或者其他类中。作用域是这个类,直到类结束。成员变量不赋值,是有默认值。
局部变量定义在方法中,用来临时保存数据。作用域只是这个方法,其他方法不可以调用。局部变量是不会给默认值。你必须赋初始值,否则编译不通过。
构造方法
构造方法可以创建一个对象,并且可以初始化值。构造方法和类名一致,没有返回值。构造方法也是方法,如果有参数,就是有参构造方法,如果没有参数,我们称无参构造函数,系统默认给我们提供一个无参构造函数。
public Java1(String name,int age){ name = name; age = age; }
此时用的是一个有参的构造函数,并且将传递的参数,赋给了当前的成员变量。
private int age;private String name; public static void main(String[] args) { Java1 object2 = new Java1("liu", 12); System.out.println(object2.age+object2.name); }
需要注意的一点,在你没有申明其他的构造函数,这时你用的系统的构造函数,但是如果你申明了其他构造方法,在想用系统的无参的构造函数一定要申明出来,否则不能调用无参函数
在构造方法中可以进行值的判别
public Java1(String name,int age){ name = name; if(age<10){ System.out.println("输入值有误"); }else { age = age; }
静态变量 关键字 static
private static int age;
静态变量又成类变量,是属于某个类,可以直接用类名来调用变量。
补充,静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!~~
静态方法
public static void show3(){ System.out.println("静态方法"); }注意点
- 静态方法中可以直接调用同类的静态变量,但是不能调用非静态成员变量。
- 如果在静态方法中,要调用非静态成员变量,可以通过在方法中创建类的对象,在调用。
- 在普通的方法中可以调用同类的静态方法
- 静态方法中,不能直接调用非静态的方法,如果需要,通过创建类对象来调用。
总之,上面一句话概括,静态的直接用过非静态不可以,但是非静态可以直接用静态。
静态代码块
public class Java2 { public Java2(){ System.out.println("构造函数"); } { System.out.println("初始代码块"); } static{ System.out.println("静态代码块"); } public static void main(String[] args) {Java2 java2 = new Java2();Java2 java3 = new Java2();}}
通过上面代码测试,我们得知一下几个特性关于静态代码块:
- 静态代码块是类加载的时候,就初始化,所以静态代码是最初执行,然后初始化代码块,最后构造函数。
- 静态代码块只是在类第一次加载的时候执行,然后随便创建类对象,都不执行。
封装
概念:就是将类的信息隐藏类得内部,不允许外部直接去访问,而是通过该类提供的方法去实现隐藏信息的修改。
好处:只能通过规定方法去访问数据,隐藏类的实例细节,方便修改。
封装实现步骤:
- 修改属性的可见性 用private关键字
- 提供属性的set,get方法。
- 在set get方法加入控制语句,进行值的合法性判断。
访问修饰符
作用:可以修饰属性方法的访问范围。
访问修饰符包括:
- public
- protected
- private
- 默认 default
其中private的访问范围最小。
java中this关键字
this.属性 操作当前的对象属性
this.方法 操作当前的对象方法
内部类
定义在一个类内部,与之对应的,外部的,就称作外部类。
内部类的好处:
- 内部类提供了更好的封装,不允许同一个包中的访问。
- 内部类可以访问外部类的所有数据,包括私有属性。
内部类的类别:
- 成员内部类
- 静态内部类
- 方法内部类
- 匿名内部类
创建内部类的对象
先创建外部类对象
内部类 内部类名 = 外部类对象 .new 内部类();
// 调用内部类对象的方法
// 调用内部类对象的方法
外部类不能直接使用内部成员的方法属性,可以通过构建内部类的对象来访问。如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。this指的是当前对象,当前的对象是外部类的对象。
补充:需要注意的成员外部类
静态内部类
静态内部类是 static 修饰的内部类,这种内部类的特点是:
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
0 0
- Java基础语法(三)
- Java语法基础(三)
- java基础语法(三)
- java基础语法学习笔记(三)
- java的一些语法基础(三)
- 三、JAVA基础语法(1)
- Java基础语法(三)---数组
- 黑马程序员——Java基础---基础语法(三)
- Java基础语法(三)(流程控制和数组)
- 黑马程序员一一Java基础语法(三)
- 黑马程序员——java基础语法(三)---数组
- Java基础语法(三)—运算符
- MySQL基础语法(三)
- Python基础语法(三)
- SWIFT基础语法(三)
- Python 基础语法(三)
- JS基础语法(三)
- MQL5语法基础(三)
- GUI awt包中的鼠标监听事件
- 胜利大逃亡(续)
- strlen()&sizeof在静态数组和动态数组中的应用~
- OkHttpUtils 下载文件
- linux下tree命令的安装
- java基础语法(三)
- c++第三次作业-成绩
- c++ vector使用 最全整理
- 二叉树的创建及遍历
- 如何利用JDK编译和运行
- JavaWeb——AJAX(3)
- 如何将matlab2014a调整成英文版。
- Ubuntu怎么实现两个外接屏幕显示不同内容
- JAVA开发和运行环境