java笔记
----------数据类型
--强类型语言(基本数据类型)

long num1 = 10000l:整形的long类型后要加L
float num = 50.1F:浮点数的float后加F
String不是关键字,是一个类;
最好不要使用浮点类进行比较
=true
所有的字符本质还是数字ASCLL码 :a == 97
//转义字符
\t 制表符 空格
\n 换行符
//布尔值扩展
boolean flag = true
if(flag) == if(flag == true) 代码要简洁易读!!!!
--类型转换
//内存溢出
int i = 128;
byte b = (byte)i;//()中加类型可以类型转换;此句内存溢出;
//强制转换 (类型)变量名 高--低 注意:1.不能对布尔类型转换!
byte b = (byte)i; 2.转换的时候注意内存溢出和精度!
System.out.print((byte)i);//输出可类型转换; 3.强制类型转换字符到整型对应ASCLL码!
System.out.print((byte)i);//输出可类型转换;
//自动转换 低--高
int i = 129
double b = i;
//数字间可以用下划线分割(便于区分)
int i = 10_0000_0000;

//变量
//局部变量:必须声明初始化值;如int i = 1;
//实例变量:从属于对象;
//布尔值:默认为false;
除了基本类型,其余的默认值都是null;
//类的引用:变量类型 变量名字 = new Demo08(类变量)
Demo08 demo08 = new Demo08();
使用:demo08.(方法);
//常量:特殊的变量,被设置后不可改变。
常量名一般使用大写;
格式:final 数据类型 变量 = 值;
书写规范--------

//Math:可以调用数学方法....
//位运算:
<<:system.out.println(2<<3) == *2*2*2,左移动3位
>>:== 2/2/2 右移动3位

//字符串连接符:system,out,println(""+a+b):此处的+号是连接符--
首个是字符或者字符串,加号就是连接.
//三元运算符:--x ? y : z
--如x = true ,则结果为y,否则结果为z.
--例如
int i = 1;
String type = i < 60 ?"不及格":"及格";
System.out.println(type);
输出结果为不及格or不及格.
//包机制:
包的本质就是文件夹!!!
一般用公司域名的倒置作为包名--www.baidu,com ---com.baidu,www
import com.case.***可以引用类
//JavaDoc

//用户交互scanner
scanner对象:![]()
输入格式:Scanner scanner = new Scanner(system.in);
String str = scanner.nextline();
ps:凡是属于IO流的类如果不关闭会一直占用资源,要习惯用完就关掉。
代码:scanner.close();

//print——输出完不会换行
println——输出完会换行
//方法
命名规则:驼峰--
重载:形参不同,方法名相同.

//Arrays类
Arrays类中的方法都是static修饰的静态方法,再使用时可以直接使用类名进行 调用,不用使用对象来调用(不用不等于不能)。
方法:给数组赋值:fill
对数组排序:sort,按升序
比较数组:通过equals方法比较数组中元素值是否相等
查找数组元素:通过binarySearch方法能对排序好的数组进行二次查找 法操作。
//面向对象:方法:静态方法:static
非静态方法:无static,若调用先创建对象,用对象调用
对象:new一个对象就是一个类的实例
构造器:一个类即使什么也不写,也有一个方法
和类名相同
没有返回值
作用
new本质再调用构造方法
初始化对象的值
注意点
定义有参构造后,如果想使用无参构造,显示的定义一个无参的构造
//封装 :
属性封装:get/set;
好处:提高程序的安全性,保护数据
隐藏代买的实现细节
统一接口
系统可维护增加了
private int i;//私有属性
public int getI() {
return i;
}//获得这个数据
public void setI(int i)
{
this.i = i;
}//设置属性值
//继承
public class 子类 extends 父类
快捷键 ctrl + H
所有类默认继承Object类
//Super
1.super调用父类的构造方法,必须在构造方法的第一个
2.super必须只能出现在子类的方法或者构造方法中
3.super和this不能同时调用构造方法
VS this
代表对象不同
this 本身调用这个对象
super 只能在继承条件下才可以使用
前提
this 没有继承也可以使用
super 只能在继承条件下使用
构造方法
this() 本类的 构造
super() 父类的构造
//重写:需要有继承关系,子类重写父类的方法!
1.方法名必须相同
2.参数列表列表必须相同
3.修饰符:范围可以扩大但不能缩小publ]ic>Protected>Default>private
4.抛出的异常:范围,可以被缩小,但不能扩大
重写,子类的方法和父类必要一致:
方法体不同!
为什么需要重写
1.父类的功能,子类不一定需要,或者不一定满足!
Alt+ Insert override

浙公网安备 33010602011771号