public static void main(String[] args) {
BigInteger bigInteger1 = BigInteger.probablePrime(20, new Random());
Boolean aBoolean = Boolean.valueOf(1 << 20 < 20);
System.out.println(aBoolean);
}
  1. Java 区分大小写。
  2. 关键字 public 称为访问修饰符(access modifier), 这些修饰符用于控制程序的其他部分对这段代码的访问级別
  3. 关键字 class 表明 Java 程序中的全部内容都包含在类中
  4. 类作为一个加载程序逻辑的容器,程序逻辑定义了应用程序的行为
  5. Java 中定义类名的规则很宽松。名字必须以字母开头,后面可以跟字母和数字的任意组合。长度基本上没有限制。但是不能使用 Java 保留字(例如,public 或 class) 作为类名(保留字列表)。
  6. abstract 抽象类或方法 5
    assert 用来查找内部程序错误 7
    boolean 布尔类型 3
    break 跳出一个 switch 或循环( for )3
    byte 8 位整数类型 3
    case switch 的一个分支 3
    catch 捕获异常的 try 块子句 7
    char Unicode 字符类型 3
    class 定义一个类类型 4
    const 未使用 没用到
    continue 在循环末尾继续 3
    default switch 的缺省子句 3, 6
    do do/while 循环最前面的语句 3
    double 双精度浮点数类型 3
    else if 语句的 else 子句 3
    enum 枚举类型 3
    extends 定义一个类的父类 4
    final 一个常量,或不能覆盖的一个类或方法 5
    finally try 块中总会执行的部分 7
    float 单精度浮点数类型 3
    for 一种循环类型 3
    goto 未使用
    if 一个条件语句 3
    implements 定义一个类实现的接口 6
    import 导入一个包 4
    instanceof 测试一个对象是否为一个类的实例 5
    int 32 位整数类型 3
    interface —种抽象类型, 其中包含可以由类实现的方法 6
    long 64 位长整数类型 3
    native 由宿主系统实现的一个方法 12 (卷 n )
    new 分配一个新对象或数组 3
    null 一个空引用(需要说明, mill 从技术上讲是一个直接量, 而不是关键字) 3
    package 包含类的一个包 4private 这个特性只能由该类的方法访问 4
    protected 这个特性只能由该类、 其子类以及同一个包中的其他类的方法访问 5
    public 这个特性可以由所有类的方法访问 4
    return 从一个方法返回 3
    short 16 位整数类型 3
    static 这个特性是这个类特有的, 而不属于这个类的对象 3, 6
    strictfp 对浮点数计算使用严格的规则 2
    super 超类对象或构造函数 5
    switch 一个选择语句 3
    synchronized 对线程而言是原子的方法或代码块 14
    this 当前类的一个方法或构造函数的隐含参数 4
    throw 抛出一个异常 7
    throws 一个方法可能拋出的异常 11
    transient 标志非永久的数据 2 (卷 n )
    try 捕获异常的代码块 7
    void 指示一个方法不返回任何值 3
    volatile 确保一个字段可以由多个线程访问 14
    while 一种循环 3
  7. 标准的命名规范为:
    类:CamelCase    例如 EmployeeSalary,GoodsPriceEnum
    再次提醒大家注意,大小写是非常重要的, 千万不能写成 firstsample.java
  8. 运行已编译的程序时,Java 虚拟机将从指定类中的 main 方法开始执行(这里的“ 方法”
    就是 Java 中所说的“ 函数”),因此为了代码能够执行,在类的源文件中必须包含一个 main
    方法。当然,也可以将用户自定义的方法添加到类中,并且在 main 方法中调用它们

    9. 注释:// 单行  /**/ 多行  /***/ 文档注释

数 据 类 型

      1. 八种基本类型:分为四类分别为

        4 种整型、2 种浮点类型、 1 种用于表示 Unicode 编码的字符单元的字符类型 char (请参见论述 char 类型的章节) 和 1 种用于表示真值的 boolean 类型。

        0X八进制数字 源码例子:

        HashTable:
        
        public synchronized boolean containsKey(Object key) {
        Entry<?,?> tab[] = table;
        int hash = key.hashCode();
        int index = (hash & 0x7FFFFFFF) % tab.length;
        for (Entry<?,?> e = tab[index] ; e != null ; e = e.next) {
        if ((e.hash == hash) && e.key.equals(key)) {
        return true;
        }
        }
        return false;
        }
        Integer: public static final int MIN_VALUE = 0x80000000;
        在 Java 中, 所有
        的数值类型所占据的字节数量与平台无关。
        注意, Java 没有任何无符号(unsigned) 形式的 int、 long、short 或 byte 类型。

        所有的浮点数值计算都遵循 IEEE 754 规范。具体来说,下面是用于表示溢出和出错情况
        的三个特殊的浮点数值:
        •正无穷大
        •负无穷大
        •NaN (不是一个数字)
        例如, 一 正整数除以 0 的结果为正无穷大。计算 0/0 或者负数的平方根结果为 NaN。

        小米面试题:
          1.0 - 0.9 等于多少?:因为二进制系统中无法精确标识分数1/10,好比十进制无法精确标识分数1/3 一样 ,如果计算中不允许有任何射入误差,就应该使用BigDecimal类

        变量

        声明一个变量之后,必须用赋值语句对变量进行显式初始化, 千万不要使用未初始化的
        变量。例如, Java 编译器认为下面的语句序列是错误的:
        int vacationDays;
        System.out.println(vacationDays): // ERROR variable not initialized
        要想对一个已经声明过的变量进行赋值, 就需要将变量名放在等号(=) 左侧, 相应取值
        的 Java 表达式放在等号的右侧。 
         
        C++ 注释:C 和 C++ 区分变量的声明与定义。例如:
        int i = 10;
        是一个定义, 而
        extern int i;
        是一个声明。在 Java 中, 不区分变量的声明与定义。
         
        关键字 final 表示这个变量只能被赋值一次。一旦被赋值之后,就不能够再更改了。习惯上,
        常量名使用全大写。

        运 算 符

        在 Java 中,使用算术运算符 +、-、 *、/ 表示加、减、 乘、除运算。 当参与 / 运算的两个
        操作数都是整数时, 表示整数除法;否则, 表示浮点除法。 整数的求余操作(有时称为取模)
        用 % 表示。例如,15/2 等于 ,7 15%2 等于 1 , 15.0/2 等于 7.50
        需要注意, 整数被 0 除将会产生一个异常, 而浮点数被 0 除将会得到无穷大或 NaN 结果。
        strictfp :这个类中的所有方法都要使用严格的浮点计算。 为啥呢
        很多 Intel 处理器计算 x * y/z,并且将结果存储在 80 位的寄存器(操作系统)中, 再除以 z 并将结
        果截断为 64 位„ 这样可以得到一个更加精确的计算结果,并且还能够避免产生指数溢
         
        public static strictfp void main(String[] args) {
        double x = 1.23d;
        double y = 2.46d;
        double z = 1.23d;
        System.out.println(x * y / z);
        }

Java核心编程-第一卷:基础知识的更多相关文章

  1. Java并发编程笔记—基础知识—实用案例

    如何正确停止一个线程 1)共享变量的使用 中断线程最好的,最受推荐的方式是,使用共享变量(shared variable)发出信号,告诉线程必须停止正在运行的任务.线程必须周期性的核查这一变量(尤其在 ...

  2. java第九节 网络编程的基础知识

    /** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端 ...

  3. Java核心编程快速学习

    Java核心编程部分的基础学习内容就不一一介绍了,本文的重点是JAVA中相对复杂的一些概念,主体内容如下图所示. 反射reflect是理解Java语言工作原理的基础,Java编译器首先需要将我们编写的 ...

  4. Java核心编程快速入门

    Java核心编程部分的基础学习内容就不一一介绍了,本文的重点是JAVA中相对复杂的一些概念,主体内容如下图所示. 反射reflect是理解Java语言工作原理的基础,Java编译器首先需要将我们编写的 ...

  5. Java核心编程快速学习(转载)

    http://www.cnblogs.com/wanliwang01/p/java_core.html Java核心编程部分的基础学习内容就不一一介绍了,本文的重点是JAVA中相对复杂的一些概念,主体 ...

  6. python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

  7. C#复习笔记(5)--C#5:简化的异步编程(异步编程的基础知识)

    异步编程的基础知识 C#5推出的async和await关键字使异步编程从表面上来说变得简单了许多,我们只需要了解不多的知识就可以编写出有效的异步代码. 在介绍async和await之前,先介绍一些基础 ...

  8. 【TCP/IP】之Java socket编程API基础

    Socket是Java网络编程的基础,深入学习socket对于了解tcp/ip网络通信协议很有帮助, 此文讲解Socket的基础编程.Socket用法:①.主要用在进程间,网络间通信. 文章目录如下: ...

  9. 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

    计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...

  10. java并发编程 线程基础

    java并发编程 线程基础 1. java中的多线程 java是天生多线程的,可以通过启动一个main方法,查看main方法启动的同时有多少线程同时启动 public class OnlyMain { ...

随机推荐

  1. ESP8266串口WiFi模块 - WiFi杀手

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` ESP8266串口WiFi模块 - WiFi杀手 日期:2 ...

  2. Luban小试牛刀

    Luban小试牛刀 LubanUnity LubanUnity配置工具配置解决方案 简介 Github  文档   视频教程  Unity工具 个人感觉挺强大,便捷的,适合中大型游戏项目的配置工作.小 ...

  3. spring与设计模式之三代理模式

    部分内容引用: https://blog.csdn.net/shulianghan/article/details/119798155 一.定义 1.1定义 对于现实生活中的代理,大家非常好理解.我们 ...

  4. C#使用RegNotifyChangeKeyValue监听注册表更改的几种方式

    养成一个好习惯,调用 Windows API 之前一定要先看文档 RegNotifyChangeKeyValue 函数 (winreg.h) - Win32 apps | Microsoft Lear ...

  5. openEuler 20.04 TLS3 上的 Python3.11.9 源码一键构建安装

    #! /bin/bash # filename: python-instaler.sh SOURCE_PATH=/usr/local/source # 下载源码包 mkdir -p $SOURCE_P ...

  6. Web运作原理探析

    Web运作原理探析 1.1 web的 概念 Web是一种分布式的应用架构,旨在共享分布在网络上的各个Web服务器中的所有互相链接的信息. 1.2 HTML是指超文本标记语言. 1.3 URL简介 UR ...

  7. 高通 LK阶段配置使用I2C-8

    以MSM8953为例. 原文(有删改):https://blog.csdn.net/qq_29890089/article/details/108294710 项目场景 因为项目需要,需要在高通MSM ...

  8. C#中重写(override)及覆盖(new)的区别详解

    1. 重写和覆盖的定义 1.1 重写(override)的定义   在C#中,用override关键字来重写一个父类中的虚方法或抽象方法.override关键字用于指示编译器,我要用派生类中的一个方法 ...

  9. vulnhub - w1r3s.v1.0.1

    vulnhub - w1r3s.v1.0.1 高质量视频教程 - b站红队笔记 靶机下载 本地环境 本机ip:192.168.157.131 w1r3s虚拟机设置NAT模式 信息收集 扫描网段得到攻击 ...

  10. clickhouse节点重做(节点替换)

    测试验证环境: docker容器化部署的4节点2分片和2副本(centos7+clickhouse22.1.3) 172.17.0.6 clickhouse01172.17.0.7 clickhous ...