开篇(变量、运算符、进制)

一、Java简介

  1. JDK(JRE(JVM & API)、Java language(tools & APIs));
  2. java源文件 → javac的编译 → class类(会生成一个或多个class文件);
    * 使用 javac 指令生成 class 文件;
    * 使用 java 指令直接执行源文件。
  3. 同一个源文件下,只能有一个类使用public作修饰,且这个类的类名需要与文件名一致;
  4. 注释
    1. //
    2. /* ...  */
    3. /**  @xxx ... @xxx ... @xxx ...    */ 文档注释:这些内容可以被javadoc工具解析,生成网页形式说明文档(必须要用public公共类)
      指令举例:javadoc -d 文件夹名 -author -version xxxx.java
  5. 半编译半解释
    1. 编译 → 解释(翻译)成字节码
    2. Java(两种编译方式):1、源代码编译成字节码,然后JVM将字节码解释为机器码并执行;2、JIT编译器将热点代码即时编译为本地机器码执行,以提高性能。
      1. Java一般是先将源文件编译成字节码文件,然后解释执行。(使用JIT,就可以实现源码即时编译为本地机器码了,因此叫半编译半解释型语言。

二、符号

  1. 标识符
    1. 只能由字母、数字、下划线_、美元符$ 四种符号组成;
    2. 数字不可以开头,不可以使用关键字;
    3. 命名规范
      1. 包名:多单词→全小写
      2. 类名、接口名:驼峰式(首字母大写)
      3. 变量名、方法名:驼峰式(首字母小写)
      4. 常量名:全字母大写,多字母用下划线连接
      5. “见名知意”
  2. 变量
    1. 声明 & 初始化( or 赋值)
    2. 变量类型
      1. 基本数据类型:1字符、1布尔
        1. 4种整型
          1. byte:-128~127(1个字节)
          2. short:-2^15 ~ 2^15-1(2个字节)
          3. int:-2^31 ~ 2^31-1(4个字节)
          4. long:-2^63 ~ 2^63-1(8个字节,需要一个大写或小写的字母L作为结尾)
          5. ps:byte、short、int之间的运算,结果都会用int做接收(默认就是int,原因是因为减少溢出,int一般够用)
        2. 2种浮点
          1. float:单精度(4字节,7位有效数字,结尾需要一个字母F or f);
          2. double:双精度(8字节);
          3. 对精度要求很高时,需要使用BigDecimal类
        3. 字符类型
          1. char
            1. 单引号:内部有且仅有一个字符;
            2. 直接使用Unicode值
            3. 转义字符
            4. 数字(对应的ascii码值)
        4. 布尔类型
          1. 只有true和false;
          2. 实际分配4个字节
      2. 引用数据类型:类(String(双引号))、数组、集合、接口、枚举、注解、记录等
        1. String与其他基本类型只能做连接运算+,但是连接的类型顺序会影响到最终输出(因为+号可以是加号,也可以是字符串拼接符号)。
      3. 作用域
  3. 变量与运算符(算术、逻辑、比较、位、条件 运算符)
    1. 自动类型提升(两种不同的类型做运算,结果的类型会自动转换成表示范围更大的类型,注意,4字节的float比8字节的long所能表示的范围更大 float为什么要比Long的取值范围大_float为什么比long大_IABQL的博客-CSDN博客);
    2. 强制转换类型
      1. ():大类型转换为小类型,需要用()这个强制转换符(前提是数值本身不超过小类型的范围,否则会损失精度)。
    3. ++或--不改变数据本身的类型
    4. +=这种操作也不改变数据本身的类型(+=跟=x+1是有区别的)
    5. 比较运算符 instanceof:检查变量是否是类的对象。如:“Hello” instanceof String
    6. 逻辑运算符
      1. ^ 异或,追求的是
      2. | 和 || ,& 和 && :都是一样的,只不过 || 与 && 多了一个短路的逻辑,开发中一般用 || 和 && 。
    7. 位运算符
      1. >>:右移(每移一位,相当于/2)
      2. <<:左移(每移以为,相当于*2)
      3. >>>
      4. ~:取反

三、进制

  1. 十进制
  2. 2进制:以0b/0B开头
  3. 8进制:以0开头
  4. 16进制:以0x/0X开头
    1. System.out.print() 输出都会是十进制显示。
  5. 进制换算

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/17715.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM_异常处理流程_编写软中断swi验证保存现场和恢复现场

keil .text .global _start _start:1.构建异常向量表b resetb undefb software_interruptb prefetch_abortb data_abortb .b irqb fiq reset:系统上电之后处于svc模式初始化svc模式下的栈指针ldr sp,0x400008002.从SVC模式切换到user模式 msr cpsr,#0xD0mrs r0,cpsrorr r0,r0,…

时序预测 | Matlab+Python实现基于高斯混合模型聚类结合CNN-BiLSTM-Attention的风电场短期功率预测

时序预测 | MatlabPython实现基于高斯混合模型聚类结合CNN-BiLSTM-Attention的风电场短期功率预测 目录 时序预测 | MatlabPython实现基于高斯混合模型聚类结合CNN-BiLSTM-Attention的风电场短期功率预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 基于高斯混…

LinearAlgebraMIT_4_矩阵的LU分解

矩阵做逆变换需要要反过来&#xff0c;如下&#xff0c; 转置的逆等于逆的转置。 在知道了上面的基础知识后&#xff0c;我们进行矩阵的分解&#xff0c;常见如LU分解和LDU分解&#xff0c;如下&#xff0c; 在这里&#xff0c;我们首先具有一个矩阵A&#xff0c;我们对矩阵A进…

(转载)极限学习机(extreme learning machine, ELM)的回归拟合及分类(matlab实现)

单隐含层前馈神经网络(single-hidden layer feedforward neural network,SLFN)以其良好的学习能力在许多领域中得到了广泛的应用。然而&#xff0c;传统的学习算法(如BP算法等)固有的一些缺点&#xff0c;成为制约其发展的主要瓶颈。前馈神经网络大多采用梯度下降方法&#xff…

C语言,指针易错点

1、封装函数&#xff0c;用指针实现字符串连接 #include <stdio.h> #include <string.h> void MyStrcat(char *dest,char *src) {int i;for(i0;*(desti);i);for(int j0;*(srcj);j)*(desti)*(srcj);*(desti)0; } int main(int argc, const char *argv[]) {char des…

Sentinel持久化实战

前言 Sentinel有pull&#xff08;拉&#xff09;模式&#xff0c;和push&#xff08;推&#xff09;模式。本文是使用reids实现pull模式。 通过SPI机制引入自己的类 在项目的 resources > META-INF > services下创建新文件&#xff0c;文件名如下&#xff0c;内容是自…

宝塔 安装/使用/备份数据 Jenkins-图文小白教程

一、Jenkins包下载 大家可以从Jenkins官网&#xff08;https://www.jenkins.io/&#xff09;根据自己的需要下载最新的版本。 但Jenkins官网下载较慢&#xff0c;容易造成下载失败。可以去国内的开源镜像网站下载Jenkins最新版本。目前博主使用的是清华大学的开源镜像网站&…

浅谈Node.js中的npm和yarn

官方文档&#xff1a; npmhttps://www.npmjs.cn/ yarnhttps://yarn.bootcss.com/ npm和yarn的作用 yarn和npm都是构建和打包javascript代码的工具 区别 npm&#xff1a; 1npm使得js开发者易于分享其为解决特定问题而编写的代码&#xff0c;且可供其他开发者在他们自己的应…

第十一章:C语言数据结构与算法初阶之排序

系列文章目录 文章目录 系列文章目录前言排序的概念及其运用排序的概念常见的排序算法 常见排序算法的实现1.直接插入排序2. 希尔排序&#xff08;缩小增量排序&#xff09;3. 直接选择排序4. 堆排序5. 冒泡排序6. 快速排序将区间按照基准值划分为左右两半部分的常见方式&#…

4 切割纸片

4 切割纸片 作者: 赵晓鹏时间限制: 1S章节: 动态规划与贪心 ---------------------------------输入 6 4 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 --------------------输出结果 4 #include <iostream> #include <vector> #include <climits&g…

Java 类概念简介

Java 是一种面向对象编程语言&#xff08;POO&#xff09;&#xff0c;它代表了封装、继承和多态性等概念。面向对象编程的功能是经典的&#xff0c;也是Java 对象创建的基础元素。在这篇文章中&#xff0c;我们讨论了 Java 中的类资源管理器&#xff0c;对创建者进行了评论&am…

TCP 协议(三)十种核心机制

1.确认应答&#xff08;可靠机制&#xff09; 2.超时重传&#xff08;可靠机制&#xff09; 3.连接管理&#xff08;可靠机制&#xff09; 4.滑动窗口&#xff08;效率机制&#xff09; 5.流量控制&#xff08;效率机制&#xff09; 6.拥塞控制&#xff08;效率机制&#xff09…