java基础笔记

注释

  • 单行注释: //
  • 多行注释: /* 注释 */
  • 文档注释: /** * */

数据类型

  • 8大基本类型
//整数
byte num2 = 20;		//(1个字节)
short num3 = 30;	//(2个字节)
int num1 = 10;		//(4个字节)---默认
long num4 = 40L;	//加L (8个字节)

//小数
float num5 = 50.1F;	//加F	(4个字节)
double num6 = 3.1415926;//(8个字节)---默认

//字符
char name = '中';		//(2个字节)

//布尔值
boolean flag = false;	//(1位)

  • 3种引用类型
    – 类
    – 接口
    – 数组

备注:
– 进制

//二进制
int i1 = 0b10;	//0b开头
//八进制
int i2 = 010;	//0开头
//十六进制
int i3 = 0x10;	//0x开头

– 转义字符

\t		制表符(table)
\n		换行

类型转换

低 -----------------------------------------------------------> 高
byte,short,char --> int —> long —> float —> double

  • 强制转换:(类型) 高—低 (省市关系
  • 自动转换: 低—高

变量作用域

  • 类变量(static)
  • 实例变量(类中,从属于对象,默认初始化)
  • 局部变量(方法中,需手动初始化)

常量

  • final 修饰,常量名大写和下划线

运算符

  • 自增自减
a++		//先赋值,后自增
++a		//先自增,后赋值
  • 位运算符
&	//与
|	//或
~	//非
^	//异或

<<	//左移:2<<3 表示2左移3位等于16---(2*(2^3))
  • 三元运算符
x ? y : z	//若x为真,则y,否则z: 	scope<60?"不及格":"及格"

JavaDoc

生成自定义API文档:javadoc -encoding UTF-8 -charset UTF-8 类.java

/**
*author 作者名
*version 版本号
*since 最早jdk版本
*/

用户交互Scanner

Scanner scan = new Scanner(System.in);
System.out.println("请输入");

String str = scan.nextLine();

System.out.println("输出为:"+str);

//关闭流
scan.close();

注:
.next() 和 .nextLine():前者不能得到带有空格的字符串,后者可以获得空白(常用)

选择结构Switch case

  • switch匹配一个具体的值(jdk 7之后支持字符串)—反编译看底层(idea自带)
  • 若无break,则会case穿透
  • 整体没有匹配上,则会default
String str="abc"
switch(str){
	case value1 :
		//语句
		break;		//可选
	case value2 :
		//语句
		break;		//可选
	case value3 :
		//语句
		break;		//可选
	default		:	//可选
		//语句
}

流程控制

  • break: 强制退出循环

  • continue:跳出本次循环

  • return: 终止方法

方法

  • 形参、实参:定义方法时的参数,为形参
  • 重载:同一个类中,方法名相同,参数不同
  • 可变长参数:传参时不确定参数个数,public void test(int x, int … i){ }

构造器

  • 形式
    – 1.和类名相同
    – 2.没有返回值
  • 作用
    – 1.使用new关键字,本质是在调用构造器
    – 2.用来初始化值
  • 注意点
    – 1.一旦定义了有参构造,无参就必须显式定义
    – 2.快捷键:alt +insert
    – 3.调用父类构造器super()(或者当前类构造器this()),必须要在子类构造器(当前类)的第一行

static

  • 执行顺序:静态代码块>匿名代码块>父类构造器>子类构造器
  • 注意点:
    – 静态代码块:只执行一次
    – 匿名代码块:一般赋初始值(对象每产生一次则执行一次)

super()

  • 注意点:
    – 1.super调用父类的构造方法,必须在构造方法的第一个
    – 2.super必须只能出现在子类的方法或构造方法中
    – 3.super和this不能同时调用构造方法
  • 与this对比:
    – 1.代表对象不同:super代表父类对象的引用
    – 2.使用前提:super只能在继承条件下使用
    – 3.构造方法:super():父类的构造

重写

  • 1.方法名相同、参数列表相同
  • 2.修饰符:范围可以扩大,但不能缩小: public>protected>default>private
  • 3.抛出的异常:范围可以缩小,但不能扩大: ClassNotFoundException<Exception(大)

多态

  • 父类的引用指向子类 Father f = new Son();
  • 子类重写了父类的方法,执行子类的方法
  • 注意点: 哪些方法不能被重写
    – 1. static方法(属于类,不属于实例)
    – 2. final常量
    – 3. private方法
  • 存在条件:(考)
    – 1.有继承关系
    – 2.子类重写父类方法
    – 3.父类引用指向子类对象
  • instanceof:判断两个类是否为父子关系

抽象类、接口

  • 抽象类:
    – 1.不能new实例化抽象类,只能靠子类去实现他(没有构造器)
    – 2.抽象类中可以有普通方法,也可以没有(抽象方法)
  • 接口
    – 1.接口中均没有方法的实现
    – 2.多继承
    – 3.实现了接口的类,就必须重写接口的方法
    – 4.接口中的方法默认为 public abstract(常用) ,默认属性为 public static final(不常用)
    – 5.不能实例化,没有构造器
    – 6.只有一个方法的接口叫做函数式接口,可以使用lambda表达式简化

内部类

  • 成员内部类(大类中)
  • 局部内部类(方法中)
    – 匿名内部类
  • 注:
    – 使用内部类,可以获得外部类的私有方法

异常

  • 超类Throwable
    – Exception (运行时异常、非运行时异常)
    – Error
  • 注:
    – 大小:throwable>exception>error
    – 假设要捕获多个异常:从小到大!
    – 快捷键:ctrl+alt+T
    – 五个关键字:try、catch、finally、throw、throws
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值