java一些知识点记录

  1. java对大小写敏感
  2. 如果main方法正常退出,那么java应用程序的退出代码为0,表示成功的运行了程序。如果希望在终止程序时返回其他代码,就需要调用System.exit 方法。
  3. 不带参数的println方法打印一个空行
Sytem.out.println();

4.//** */注视可以用来生成文本
5.java是一种强类型语言
6.长整形数值有一个后缀(如4000000000L)。十六进制的数值有一个前缀Ox(如0xCAFE). 八进制有一个前缀0,010对应8.显然八进制表示法比较容易混淆,所以建议最好不要使用八进制数。
7.java7开始加上前缀0b就可以写二进制数
8.char类型 Unicode编码表
9.建议不要在java中使用char类型
10.不要使用为初始化的变量,必须对变量初始化。
11.final可以定义常量,方法与C++的const类似。
12.运算符,自增自减操作是一样的
13.数学函数与常量PI

Math.sin
math.PI

14.精度小转精度大,表示位数少的转表示位数多的。
15.从0下标开始,一共3位。截取字符串

String greeting="hello";
String s=greeting.substring(0,3);

16.普通的连接字符串会产生一个新的空间,为了不浪费空间,使用StringBuilder类。每次需要附加的时候就调用append方法。最后在构建字符串的时候就调用toString方法

StringBuilder builder =new StringBuilder();
builder.append(ch);
builder.append(str);

16.输入,密码输入
Scanner , nextLine, next(单词),nextInt nextdouble

Scanner in=new Scanner(System.in);
String name=in.nextLine();
int age=in.nextInt();
//输入密码
Console cons=System.console();
String username=cons.readLine(username);
String passwd=cons.readPassword(pwd);

17.格式化输出与C语言类似
8个宽度的 两位小数输出f

System.out.println("%8.2f",f);

18.java的大数值 内置四则运算
①BigInteger 内置任意精度的整数运算
②BigDecimal 内置任意精度的浮点数运算

19.java数组

大多数程序员使用第一种,因为将数据类型与变量分开
int[] a;
int b[];

20.对数组进行排序使用Array中的内置算法sort
使用的是数据结构中的快速排序原理
想看排序算法的戳这里

int[] a=new int[10000];
//.................
Arrays.sort(a);

21.java中多维数组解释为数组的数组
**

面向对象部分

**
22.封装(有时候也称数据隐藏),给予了对象黑盒的特征
23.在类之间,最常见的关系又:

  • 依赖 (uses-a)
  • 聚合(关联)(has-a)
  • 继承(is-a)

在这里插入图片描述
24.每一个类可以又一个main方法。这是一个常用于对类进行单元测试的技巧。
如,可以在Employee类中添加一个main方法:

25.初始化块,包含多个代码块。只要构造类的对象,这些块就会被执行。

class Employee
{
	private static int nextId;
	private int id;
	{
		id=nexId;
		nextId++;
	}
}

26.在第一次类加载时,将会对静态域进行初始化。
27.类的设计技巧
①一定要保证数据私有
②一定要对数据初始化
③不要在类中过多的使用基本数据类型
④不是所有的域都要独立的域和域更改其
⑤将职责过多的类分解
⑥类名和方法名要能够体现他的职责

27.父类(超类) ,super不是一个对象的引用,不能将super赋值给另一个对象变量,他只是一个指示编辑器调用超类方法的关键字。

28.关键字this有两个用途:
①引用隐式参数
②调用该类的其他构造器
super的关键字也有两个用途:“
①调用超类的方法
②调用超类的构造器

29.多态 -动态绑定的过程(重载解析)就是多态的展现
是从当前类往超类上走的顺序解析。
不同的子类继承并实现抽象类的方法 然后通过
abstractfather[ ] p=new abstractfatherfather
p[0]=new son1
p[1]=new son2

for(abstractfather v: p )
通过v调用两个子类都实现了abstractfather的方法
30.阻止继承和方法使用final修饰符

31.强制转换类型,只能由子类转为父类的类型

32.abstract类是一个抽象类类似于C++的vritual function,不能被实例化
接口也不能被实例化。
abstract类中可以有实现的方法而接口中不能实现方法,只能定义。

33.private(本类)->protected(子类) -> public(其他类)

34.Object类(所有类的超类)
当我们创建一个类的时候如果不显示的继承某个类的话,是默认继承的Object类,如果我们继承了一个类B,是不是有人会问,那么我们是不是等于同时继承了两个类,java不是不允许多继承嘛?实际上我们继承了一个类B,那么B继承Object类,所以并不是继承多个类。

35.类型不匹配 使用 equals or instanceof
许多程序员喜欢使用instanceof,但是不建议用。
java规范equals特性:
①自反性
②对称
③传递
④一致性
⑤对于非空引用x
x.equals(null) 就应该返回false

36.数据继承了Object的toString方法,因此打印的时候
是一个编码,因此我们可以使用array提供的toString方法打印一维数组,deepToString方法打印多维数组。

int[] nums={2,3,5,6,8};
String s=""+muns;	//得不到结果
String s1=Arrays.toString(nums);	//完美解决

37.Integer类方法

  • int intValue()
  • 以int的形式返回Integer对象的值(在Number类中覆盖了intValue方法)。
  • static String toString (int i)
  • 以一个新的String对象的形式返回给定的数值i的十进制表示.

38.p216
39.p222

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值