java 不熟悉知识点归纳2


增强for循环

public static void main(String[] args){

String[] arr =new String[]{"A","B","C"};
String a=null;
for(String str :arr){
System.out.println(str);
a=str;
}
System.out.println(a); // 打印出C,为arr最后的值
}

循环调用每一个arr[]数组中的值并赋予str // for 的增强循环 相当于foreach 进行集合的遍历
缺点是丢失了索引信息。
增强for循环里的新建变量每次循环完都会释放掉 即str每次循环完后会被释放


int[] arr2=new int[]{1,3,5,7,9};
//int index=0;
for(int i:arr2){
arr2[Arrays.binarySearch(arr2, i)]=i+1;
//index++;
}
System.out.println(Arrays.toString(arr2));
//数组中如果有重复的值则此方法无法使用,可在外部定义索引之后内部++
//Arrarys.binarySearch(数组,值)返回索引。


面向对象

OOP (Object Oriented Programming)
封装 继承 多态
代码可扩展性,可维护性(容错能力)

类(class)用来描述一个对象(Object):对一类事物的描述,是抽象的、概念上的定义
对象是实际存在的个体,计算机中创建了一个内存区域用来存储。
实例化:创建对象的过程。

例如建造房子:
类:建筑图纸
对象:根据图纸造出的房子
实例化:装修

属性-》属性值
方法



对于引用数据类型 变量名存储的是变量在堆中的地址

例子:
Student stu1 =new Studeng();
stu1.age=16;

Student stu2=stu1;
stu1.age=61;
则stu2.age也是61
因为引用数据类型 拿的是内存的地址,stu2=stu1时相当于把stu1的地址给了stu2,所以stu1.age变化时用stu2.age访问 也变化了。

而基本数据类型传递的是值 不会跟着变化
int a1=1,a2;
a2=a1;
a1=2;
则a2=1无变化



this是实例化后的对象本身!!!
stu.changeAge(28); //28是实参
在Student class中
public void changeAge(int age){ //age这里是形参
this.age=age;
}
注意this无法再static类中使用







class Student{
public int age;
}
public class Demo06 {
public static void main(String[] args) {

int _int = 11;
Demo06 d = new Demo06();

d.changeInt(11);
System.out.println("使用完之后,int值变为了" + _int); // 11
Student stu =new Student();
stu.age=24;
d.changeAge(stu);
System.out.println("使用完之后为:"+stu.age);//25
}

public void changeInt(int _int) { //方法结束时销毁形参 所以外面再调用时_int并未发生改变
System.out.println("你传进来的int数字是" + _int);// 11
_int *= 2;
System.out.println("现在的int是" + _int);// 22

}
public void changeAge(Student stu){ //方法结束时只是把地址销毁了 所以改变已经发生了
System.out.println("你传进来的学员年龄是"+stu.age);//24
stu.age++;
System.out.println("修改后年龄是"+stu.age);//25
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Java面试题太多背不完的问题,以下是一些建议和解决方法: 1. 理解核心概念:首先,要确保对Java的核心概念有深入的理解,包括面向对象编程、多线程、异常处理、集合框架等。这些概念是Java面试中经常涉及的重要知识点。 2. 重点关注常见问题:了解常见的Java面试题,特别是那些经常被问到的问题。这些问题通常涉及Java的基础知识、常用类和库、设计模式等。可以通过查阅面试题集合、参考书籍或在线资源来获取这些问题。 3. 制定学习计划:根据自己的时间和能力,制定一个合理的学习计划。可以将面试题分为不同的主题,每天或每周专注于一个主题进行学习。这样可以有针对性地提高自己的知识水平。 4. 实践和编码:通过实践和编码来加深对Java知识的理解和记忆。可以尝试解决一些编程问题,参与开源项目或者自己动手实现一些小项目。这样可以将理论知识应用到实际中,加深记忆。 5. 参加模拟面试:参加模拟面试可以帮助你熟悉面试的流程和问题类型,并提供反馈和建议。可以找一些朋友或者加入面试准备的群组,进行模拟面试的练习。 6. 多做笔记和总结:在学习过程中,多做笔记和总结是很重要的。可以将重要的知识点、面试题和解答记录下来,方便日后复习和回顾。 总之,Java面试题太多背不完是一个常见的问题,但通过合理的学习方法和实践,可以提高自己的面试准备水平。记住,重要的是理解核心概念和掌握常见问题,而不是仅仅死记硬背。祝你面试顺利!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值