0
点赞
收藏
分享

微信扫一扫

Java核心技术 卷(一) 学习记录

青乌 2022-03-30 阅读 118
java

本文仅记录了一些作者认为值得注意的地方

(一) 基本程序设计结构

数据类型:

整形分为int long short byte

        java中不含有任何无符号类型(unsigned)

        java中不区分变量的声明和定义

        常量使用final修饰,习惯上常量名使用大写字母


数学函数与常量:

主要借助 Math 类

        Math类中常用方法包含 Math.sqrt() Math.pow() Math.PI Math.E


字符串:

String类型是不可变字符串 可以通过substring()方法进行字符串拼接
        equals方法可以检测两个字符串是否相等
        equalsIgnoreCase()方法可以不区分大小写进行字符串相等比较
        注意:java中没有重载"=="进行相等比较的操作
空串和Null串 
        可以调用length()方法,或者将字符串和空字符串进行比较的equals(" ")方法进行判断
        null串则是直接进行"=="对比判断
码点和代码单元
        charAt()方法可以直接返回该码点的代码单元
StringBuilder 类提供更方便的增添功能 (字符串构建器)
        toString()方法返回字符串  append()方法实现增添


输入输出:

Scanner类实现标准输入
        Scanner sc = new Scanner(System.in);该类包含在java.util包中,当一个类不包含在java.lang包中的时候需要将其包含进来
        为了克服Scanner的可见性缺点Java有引入Console类专门用来读取密码
基本类型转换符:
        d,x,o,f,e,g,a,s,c,b,h  java中有System.out.printf()方法
文件的输入与输出
        使用file对象构造一个Scanner对象


循环:

java中提供了带有标签的break & continue:
        break flag;continue flag;

java中的通用型for循环(for each循环)

        for(variable : collection) statement

例如:

for(int element : a)
    System.out,println(element);

大数值:

        如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有 用的类:BigInteger和BigDecimal,分别实现任意精度的整数运算和浮点数运算。


数组:

要想获得数组中元素的个数可以调用array.length方法

数组处理:

        可以使用Arrays类中的sort方法  java.util.Arrays

        Arrays类中包含有二分搜索算法 static int binarySearch(type[] a,type v);

        equals方法比较数组是否相等同样包含在Arrays类中

        打印数组Arrays.toString()方法

多维数组:

        若要使用foeach循环遍历二维数组则需:

for(double[] row : a)
    for(double value : row)
        {
            do something with value;
        }

        java中的多维数组不同于c/c++ 它是一种不规则数组,更可以被称作为“数组的数组”

        同一维数组,若想快速的打印出数组的数据元素列表,可以调用Arrays.deepToString()方法;

(二)对象与类

引用:

        java中的引用不同于c++,且所有的Java对象储存在堆中

        例如:

 Java类库中的LocalDate类,可进行查阅学习

                                构造器等基础高级语言知识不再赘述。

main方法:

        每一个类可以包含一个main方法,这是一个常用于对类进行单元测试的技巧

例如:

class Employee
{
    public Employee(String n,double s,int year,int month,int days)
    {
        name = n;
        salary = s;
        LocalDate hireDay = LocalDate.now(year,month,day);
    }
...
public static void main(String[] args)//unit Test
{
    Employee e = new Employee("Romeo",50000,2003,3,31);
    e.raiseSalary(10);
    System.....
}
//如果想要独立的测试Employee类只需要执行 java Emloyee

方法参数:

        一个方法可以修改传递引用所对应的变量值,但不能修改传递至调用所对应的变量值。

java程序对对象采用的不是引用调用,实际上对象引用是值传递的。

包(package):

        Java中使用包将类组织起来,更方便于使用者组织自己的代码,并将自己的代码和别人提供的分开管理。

        

举报

相关推荐

0 条评论