明解java学习笔记

明解java学习笔记

  1. 在算数运算中,优先执行括号的运算,并且在写运算时使用括号可以方便一眼看出运算顺序

  2. 推荐分行声明变量,方便对于每一个声明进行注释。如果一行中需要声明多个变量,则用逗号隔开

  3. 整数/整数 舍弃了结果的小数部分

  4. 无法从未赋值的变量中取值,最好在声明变量时赋予其初值,明确进行初始化

  5. System.in是与键盘相关联的标准的输入流。System.out是标准的输出流

  6. 从键盘输入:
    第一、导入包 import java.util.Scanner
    第二、声明并赋值 Scanner std = new Scanner(System.in);
    第三、将输入值赋值给变量 int x = std.nextInt();

  7. fina变量 final变量的名称推荐使用大写,并且final变量在赋初值之后不能更改 例如;final double PI = 4.1416

  8. 生成随机数
    第一、导入包 import java.util.Random
    第二、Random rand = new Random();
    第三、int lucky = rand.nextInt(10);//输出0-9的随机数 rand.nextInt(n)部分是大于等于0小于等于n的随机数

  9. 在字符串的读入中 String s = std.next(); 在从键盘输入的第三部分改成这样子,可以进行读入,但是使用next()读入通过键盘输入的字符串时,空白字符和制表符被视为字符串的分隔符,空格和制表符后面的内容不能读出。要将包含空格在内的一整行输入作为字符串读入时,需要使用nextLine()

  10. 如果if…else中不添加大括号{},else对应的是离他最近的if

  11. switch§{
    case 1 : c = 1; break;
    case 2 : c = 2; break;
    default: c=0; break;
    }

  12. 直角三角形显示
    for(int i=1;i<=n;i++)
    for(int j=1;j<=i;j++)

  13. 数组变量的声明:
    int[] a;//优先采用这种,因数组的类型名为int[]型,这样子能够一目了然看清楚是int型还是int[]型。在返回类型为数组的声明中,一定要使用这种
    int a[];

  14. 数组主体由new来创建。例如:new int[5]
    数组变量是引用数组主体的变量 int[] a = new int[5];

  15. 与一般变量不同,数组的构成元素即使未明确进行初始化,也会被初始化为0

  16. 数组的长度=元素的个数(可以用数组变量名.length来获取)
    并且数组元素的个数不是int类型,而是final int 类型,不可以赋值去改变元素的个数

  17. 输入数组元素的个数
    int n = std.nextInt();//输入数组元素的个数
    int[] a = new int[n];

  18. 数组的初始化和赋值:
    int[] a = {1,2,3,};//多余的逗号在声明字符串数组时是有效的
    数组的初值就是在大括号中的,用逗号隔开的值。创建数组中的元素的个数会根据初始值的个数自动进行设定
    另外一种创建数组的正确方式:
    int[] a;
    a=new int[]{1,2,3};
    使用new运算符创建数组时,new 元素类型 [] 的后面可以加上初始值
    错误方式:
    int[] a;
    a={1,2,3,};

  19. 如果数组中元素的个数是一个已知的常数可以使用final变量表示
    例如:final int n = 5;
    int[] a = new int[n];

  20. 扩展for语句
    for(double i:a)
    sun+=i;
    其中double是a数组元素的类型
    扩展for语句遍历多维数组:
    for(double i:a){
    foe(double j:i){
    System,out.println(“*”);
    }
    }

  21. 对于数组进行倒序排序
    for(int i=0;i<n/2;i++)
    交换a[i]和a[n-i-1]

  22. 数组的复制
    如果使用赋值符号(=)对数组进行赋值,不会复制全部元素的值,只是改变了引用的目标而已,例如b=a;将数组a复制给数组b,是错误的
    复制数组时需要使用循环语句逐一复制全部元素
    当元素的个数不同时,需要将目标中的元素个数修改为复制源中的元素个数

  23. 多维数组的声明格式:
    int[] x,y[];
    x为一维数组int[]型,y为二维数组int[][]型
    建议二维数组声明为int[][] y;

  24. 方法间的参数交换是通过值传递进行的

  25. 多个方法中共享的变量一定要在方法外部进行声明,并加上static

  26. 当类作用域和块作用域存在相同名称的变量时,局部变量时可见的,字段会被隐藏。可以使用“类名.字段名”访问被隐藏的字段

  27. Account account=new Account();
    account是类类型变量,Account是类

  28. 构造函数与方法不同,构造函数没有返回值

  29. 对类类型变量应用的相等运算符==和!=会判断引用类型是否相同,而不会判断字段的值是否相等

  30. 可以将多个类汇总到一个源程序中,只将包含main方法的类型声明为public,其他的类都声明为非public类。一个源程序中不可以声明两个以上的public类

  31. public class Main {

    public static void main(String[] args) {
    System.out.println(“Hello World!”);
    }
    public class Test1 {} //正确
    }
    public class Test2{}//错误
    class Test3{}//正确

//
//同一个java文件(就是一个后缀为java的文本)只能有一个pulic class
//如果向使用多个class 有两中办法
// 1 在你的java文件里的public class类外面写class类 前面不能加public
// 2 在你的java文件里的public class类里面写public class类作为成员

  1. 实例方法可以访问所有的非静态字段,静态字段,非静态方法,静态方法。即实例方法既可以访问自身持有的变量和方法,也可以访问大家共享的变量和方法
    类方法(静态方法带有static关键字)可以访问静态字段和静态方法,但不可以访问非静态字段和非静态方法。即类方法不具有自身持有的变量和方法,只可以访问大家共享的变量和方法
  2. main中调用其他方法必为类方法,因为main方法是类方法,有static关键字。并且一般调用方法都是类名.方法名();因为在同一个类中,可以直接使用方法名();
  3. 包名的首字母是小写字母
  4. 在类的派生中,构造函数不可以被继承
  5. 当方法重写上位类中的方法时,最好在声明中加上@override注解
  6. 私有成员不会被继承
  7. 不应该被扩展的类或方法需要声明为final
  8. 如果上位类类型的变量可以引用下位类类型的实例,就可以实现多态。在调用与多态相关的方法,要调用的方法会在程序运行时确定,执行动态联编
  9. 抽象类用abstrac关键字声明,具有以下性质,一、无法创建或者不应该创建实例。无法定义方法的主体,其内容在子类中具体实现
  10. 只要包含一个抽象方法,该类就必须声明为抽象类。抽象类中可以没有抽象方法
  11. 从抽象类派生的子类中未实现抽象方法,则抽象方法会被直接继承。
  12. 文档注释只有放在类、接口、构造函数、方法、字段的声明前面才会被识别
  13. 文档注释中可以插入HTML标记
  14. 未实现接口中所有方法的类必须声明为抽象类
  15. 当类的声明中同时存在extends和implements时,一定要先书写extends
  16. 多个接口用逗号隔开、
  17. 接口和类一样不可以多重继承
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值