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

news2024/9/24 15:26:20

一、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.coloradmin.cn/o/739067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是Qt Widgets?一组创建经典桌面应用UI的界面组件!

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 Qt Widgets模块提供…

QGIS 根据点位批量出图

背景 在工作中&#xff0c;当有大量项目点位需要结合地图介绍时&#xff0c;则需要批量截图。于是有了今天的教程。 一 工具及材料准备 QGIS 插件 QuickMapServices 点位集合 CSV文件 其他图层文件 二 导入图层 这里根据实际需要导入自己对应格式的就好。 图层-添加…

计算机网络地址

1、ipv4地址 2、网络地址转换 3、子网划分和主机号

Spring MVC 注解实现

注解描述 注解描述Controller用于标记在一个类上&#xff0c;使用它标记的类就是一个SpringMVC Controller 对象&#xff0c;分发处理器将会扫描使用了该注解的类的方法&#xff0c;并检测该方法是否使用了RequestMapping 注解。Controller 只是定义了一个控制器类&#xff0c…

第七章 环境软件的安装

1、nodeJS安装 node -v node版本 安装多个node版本 pnpm i nvm -g nvm -v nvm ls 查看当前安装的版本 nvm install 18.7.0 安装指定的版本 nvm use 18.6.0 切换到别的版本 安装pnpm npm i pnpm -g pnpm -v 安装VSCode 官网直接下载 安装好后 需要配置 按住 CMD +…

基于单片机的老人防摔倒的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;通过LCD1602液晶显示屏显示当前的经纬度及时间的信息&#xff1b;温度传感器采集当前体温&#xff1b;通过GPS接收模块获得当前位置的位置的经度、纬度、时间和高度等信息&#xff1b;通过ADXL345检测老人摔倒的一瞬间重力加速度通…

[解决Github 克隆错误] unable to access ‘xxx‘: Recv failure: Connect

1.错误描述&#xff1a; 从GitHub上克隆仓库到本地&#xff0c;出现错误&#xff1a; unable to access https://github.com/xxxx: Recv failure: Connection was reset。 克隆失败。 2.第一次解决此问题&#xff1a;从终端输入&#xff1a; git config --global http.sslVer…

Liunx下的消费者与生产者模型与简单线程池的实现

文章目录 前言1.消费者与生产者模型2.信号量1.信号量的接口2.使用环形队列模拟生产者消费者模型 3.简单实现线程池4.补充说明 前言 本文主要会结束消费者生产者模型&#xff0c;以及简单线程池的实现。 1.消费者与生产者模型 之前我们学了条件变量和互斥等概念。条件变量本质…

vETSTStudio - CAPL - CAN报文未使用位

目录 ChkStart_PayloadGapsObservation 代码示例 ChkStart_PayloadGapsObservationTx 代码示例 ChkStart_PayloadGapsObservationRx 代码示例 我们在做CAN&CANFD通信或者CAN&CANFD网络管理的时候&#xff0c;就会测试到DBC中报文各种信号和位的使用状态&#xff…

从数据采集到智能控制,探寻锂电卷绕机的自动化之路

在锂电池制造过程中&#xff0c;卷绕机被视为关键设备之一。它负责将正负极材料和隔膜按照设计要求卷绕成电芯&#xff0c;是确保锂电池性能和质量的重要环节。为了提高生产效率、确保产品质量&#xff0c;锂电池行业越来越注重引入智能化技术和设备。 图.锂电池生产&#xff0…

spring boot+MySQL福聚苑社区团商品购系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9

尚硅谷Linux学习笔记

文章目录 1. Linux概述2. Linux目录结构3. Linux操作命令3.1 vim编辑命令3.1.1 一般模式3.1.2 编辑模式3.1.3 指令模式 3.2 网络相关命令3.3 系统管理3.4 帮助命令3.4.1 man 获得帮助信息3.4.2 help 获得 shell 内置命令的帮助信息3.4.3 常用快捷键 3.5 文件目录类3.5.1 pwd、e…

ROS:rosbag的使用

目录 一、背景二、概念及作用三、rosbag命令行四、rosbag程序实现4.1C实现4.2Python实现 一、背景 机器人传感器获取到的信息&#xff0c;有时我们可能需要时时处理&#xff0c;有时可能只是采集数据&#xff0c;事后分析&#xff0c;比如: 机器人导航实现中&#xff0c;可能…

基于 BPF 的 Linux 系统自动调优工具:Oracle 开发了 “bpftune”

导读Oracle 开源了一个基于 BPF 的 Linux 参数自动调优工具 “bpftune”&#xff0c;这是一个自动配置器&#xff0c;可以监控 Linux 系统的工作负载并自动设置正确的内核参数值。 Oracle 开源了一个基于 BPF 的 Linux 参数自动调优工具 “bpftune”&#xff0c;这是一个自动配…

U盘写流程USB协议抓包分析

U盘写流程USB协议抓包分析 因好奇于操作系统在对U盘这个块设备是如何进行读写传递数据包&#xff0c;笔者通过抓包测试&#xff0c;做了一个简单分析。安装了wireshark的usbPcap即能抓取主机USB接口上的usb包。 A、基本包信息分析 让我们先从读流程开始分析一下USB包的包结构…

音视频技术开发周刊 | 301

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 微软、谷歌、亚马逊&#xff0c;打响大模型时代的云战争 过去数月&#xff0c;云巨头们砸下真金白银&#xff0c;研发大模型、战略投资、自研 AI 芯片……大模型的时代方兴…

ArcGIS Pro中的模型构建器演示

前言 ArcGIS Pro的模型构建器在功能上相较于大致没有什么改动,主要是界面上变得相对漂亮,流程中使用了一些半透明的效果,相较于arcmap中的模型构建器,可以说是颜值进化很大了。 实战 首先我们来看一下演示效果,怎么样,是不是很方便 先建立一个模型 对于模型构建器我一直…

java main 方法的理解

文章目录 理解命令行参数用法举例IDEA工具配置参数&#xff08;了解&#xff09; 理解 由于JVM需要调用类的main()方法&#xff0c;所以该方法的访问权限必须是public&#xff0c;又因为JVM在执行main()方法时不必创建对象&#xff0c;所以该方法必须是static的&#xff0c;该…

python爬虫_selenuim登录个人markdown博客站点

文章目录 ⭐前言⭐selelunim⭐博客站点&#x1f496; 自动填充账号密码登录 ⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享python使用selenuim登录个人markdown博客站点。 该系列文章&#xff1a; python爬虫_基本数据类型 python爬虫_函数的使用 python爬虫…

接口中的默认方法和静态方法

接口中的默认方法和静态方法 接口中的默认方法 package cn.tedu.inter; //1.定义接口 public interface Inter1 {/*1.接口中默认方法的修饰符public可以省略*///2.定义接口中的默认方法public default void play(){System.out.println("我是接口中的默认方法&#xff0c;…