输入输出
1.输出
system.out.print();//不换行输出
system.out.println();//换行输出
JOptionPane.ShowmessageDialog(null,msg);
//弹出框输出
2.输入
JoptionPane.showInputDialog();//弹窗输人
1.scanner先调用
import java.util.Scanner;
Scanner input =new Scanner(System.in); int age=input.nextint();
注意:next后随数据类型而改变
2.字符串转int/double
double age=Double.parseD1ouble( input.nextLine());
int age=Integer.parseInt(input.nextLine());
数组
解释:可以用来存储同种数据类型的多个值的一种容器
定义:
格式一:数组类型[ ]数组名
格式二:数组类型 数组名[ ]
静态初始化
格式:数据类型[]数组名=new 数据类型[]{元素一,元素二,}
动态初始化
格式:数据类型[]数组名=new 数据类型[数组长度 ]
分支
1.if(关系表达式为ture执行语句体)
格式一:
if(关系表达式){ 语句体; }
格式二:
if(关系表达式){ 语句体1; }else{ 语句体2; }
格式三:
if(关系表达式1){ 语句体1; }else if(关系表达式2) { 语句体2; } .... else{ 语句体n+1 }
2.switch
switch(表达式){ case1; 语句体1; break; case2; 语句体2; break; case3; 语句体3; break;//无break会case穿透 .... default;//所有case都不匹配执行default 语句体n+1; break;}
循环
for循环
for(初始化语句;条件判断语句;条件控制语句){ 循环语句体; }
while循环
初始化语句; while(条件判断语句){ 循环语句体; 条件控制语句; }
do while循环
do { 循环语句体; 条件控制语句; } while(条件判断语句)
面向对象特性之一——封装
对象代表什么,就封装对应数据,并提供对应数据的行为
eg:人关门(方法应写入门类中)
好处:少学,少写,简直太优雅了
private关键字,set get的使用方法
被private修饰的成员只有在本类中才能访问
set可创造一条赋值通道
get可创造一条获取通道
如下
private int age; public void setage(int a){ if(a>=18&&a<=50)age=a; else System.out.println("非法数据"); } public int getage(){ return age; }
this关键字,就近原则,成员变量和局部变量
成员变量:方法之外,类之中
局部变量:方法之中
就近原则:谁近就用谁
this关键字:可直接调用成员变量
面向对象特性之一——继承
关键字:extends(让一个类与另一个类建立继承关系)
java只能单继承不能多继承但能多层继承
间接父类:间接继承
直接父类:直接继承
object是祖宗
关于子类继承的内容
类别 | 继承的内容 | 备注 |
---|---|---|
成员变量 | public, protected | private不继承,默认包访问权限同包内可见 |
方法 | public, protected | 可重写,private不可见,final不能被重写 |
构造方法 | 不直接继承 | 可通过super调用父类构造方法 |
接口/抽象类 | 必须实现/继承 | 若父类实现或继承接口,子类需遵守 |
静态方法 | 可访问 | 静态方法属于类,但不属于实例,故非继承而是可见 |
注解 | 依注解定义 | 通常不继承,特殊设计可能允许 |
注:1.父类private修饰的成员变量,子类若想调用需要通过set,get方法
2.成员方法能被添加入虚方法表则能够被继承
访问修饰符 | 是否可被添加入虚方法表 | 原因 |
---|---|---|
private | 否 | 私有方法只能在本类中访问,无法被子类继承和覆盖 |
static | 否 | 静态方法与实例无关,不参与多态性,不会被添加到虚方法表中 |
final | 否 | final方法不能被子类覆盖 |
3非原则
继承中:成员变量的访问特点
就近原则:谁近就用谁
局部>成员>父类
this关键字:可直接调用成员变量
super关键字:可直接调用父类变量
继承中:成员方法的访问特点
就近原则:谁近就用谁
this关键字:可直接调用成员方法
super关键字:可直接调用父类方法
方法的重写(被加入虚方法表才可重写)
父类方法不能满足需求便可重写并需加上Override
继承中:构造方法的访问特点
可通过super调用父类构造方法
面向对象特性之一——多态
同类型的对象,表现出不同的形态
格式:父类类型 对象名称=子类对象;
前提:有方法重写,有继承关系,有指向
好处:使用父类作为形参可以接收所有子类对象
多态中成员方法和成员变量的访问特点
成员变量:编译看左,运行看左(父类)
成员方法:编译看左,运行看右(重写)