02章【JAVA编程基础】

news2024/11/20 11:20:23

变量与标识符

变量

  • 数学名词:变数或变量,是指没有固定的值,可以改变的数。变量以非数字的符号来表达,一般用拉丁字母。变量是常数的相反。变量的用处在于能一般化描述指令的方式。
  • 计算机解释:变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存中的数据。
  • 变量分类:
    • 按所属的数据类型划分:基本数据类型变量 引用数据类型变量
    • 按被声明的位置划分:
      • 局部变量:方法或语句块内部定义的变量
      • 成员变量:方法外部、类的内部定义的变量

标识符
Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。

  • Java标识符命名规则:
    • 由字母、数字、下划线(_)和美元符号($)组成。
    • 不能以数字开头。
    • 区分大小。
    • 长度无限制。
    • 不能是Java中的关键字和保留关键字。
    • 标识符命名习惯:驼峰命名法、见名知意。以单词或单词组合来命名
  • 合法标识符:vince、daoguo、user_name、_userName、$abc_123
  • 非法标识符:2UserName、user#Name、Hello 威哥、class

八种基本数据类型

  • 字节(Byte)是:计算机文件大小的基本计算单位。
    • 1个字节(Byte) = 8个位(Bit)
    • Bit意为“位”或“比特”,是计算机运算的基础; 二进制中的一位,是二进制最小信息单位.二进位可以用来表示一个简单的正/负的判断,有两种状态的开关(如电灯开关)
  • 简单换算结果:
    • 1个字节(Byte) = 8个位(Bit)
    • 2个字节(Byte) = 16个位(Bit)
    • 4个字节(Byte) = 32个位(Bit)
    • 8个字节(Byte) = 64个位(Bit)
  • 说明:在内存计算过程中,字节少的数据运算速度更快;在硬盘存储中,字节少的数据类型也可充分存入更多的数据。
    在这里插入图片描述

基本数据类型的声明

  • 声明变量的格式:
    • 声明变量:类型 变量名;
    • 声明的同时给变量赋值:类型 变量名 = 值;
    • 给已声明过的变量赋值:变量名 = 值;

进制与转换

进制

  • 计算机进制通常有:十进制、二进制、八进制、十六进制
  • 十进制:人类算数采用十进制,可能跟人类有十根手指有关。亚里士多德称人类普遍使用十进制,只不过是绝大多数人生来就有10根手指这样一个解剖学事实的结果。
    • 10、150、1050…
  • 二进制:计算机中的数据都以二进制数字保存。二进制:逢二进一。即只有0、1两个值。
    • 如:十进制的10在计算机内保存为二进制的1010
  • 八进制:基数为八。Java中八进制数据要以0开头。如:0123
  • 八进制转换成二进制:只需将每个八进制数字替换为相对应的三个二进制位即可。
  • 现在的计算机系统很少用八进制的了。
  • 计算机中信息的存储单位
    • 位(Bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位。
    • 字节(Byte):一个字节由8个位组成。它表示作为一个完整处理单位的8个二进制数码
  • 十六进制:二进制表示法太冗长,所以在程序中一般喜欢用十六进制
  • 十六进制:基数为十六,逢十六进一。它用abcdef表示从0-9之上的值Java中十六进制数据要以0x或0X开头。如:0x23D
  • 十六进制转换成二进制只需将每个十六进制数字替换为相对应的四个二进制位即可
  • 补码
    • 一个正数的补码和其原码的形式是相同的。
    • 负数的补码是:将该数的绝对值的二进制形式,按位取反再加1。
  • 二进制数转换成十进制数# 基本数据类型转换

基本数据类型转换

  • 自动类型转换:容量小的类型自动转换成容量大的数据类型
    • byte,short,int,它们三者在计算时会转换成int类型
    • 如果把int值转换为float值,或者long转换为double值,不需要强制转换,但可能丢失精度
      在这里插入图片描述
  • 强制类型转换:
    • 容量大的类型转换成容量小的数据类型时,要加上强制转换符。
    • long n = 100L;
    • int i = (int)n;
    • 有可能造成精度降低或数据溢出,使用时要小心。
    • boolean 类型不能转换成任何其它数据类型

关键字

在这里插入图片描述


转义字符

在这里插入图片描述


运算符与优先级

分支语句

循环语句

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

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

相关文章

【Spring 篇】深入探索:Spring集成Web环境的奇妙世界

嗨,亲爱的小白们!欢迎来到这篇有关Spring集成Web环境的博客。如果你曾对如何在Spring中构建强大的Web应用程序感到好奇,那么这里将为你揭示Web开发的神秘面纱。我们将用情感丰富、语句通顺的文字,以小白友好的方式,一探…

DBeaver SQL脚本执行配置

对生产环境数据迁移到测试环境时,单条执行可能时间过长、或者内存装不下。最快的方法是执行SQL脚本。 本地数据库客户端:DBeaver 该客户端是不自带脚本执行客户端的,如下图: mysql官网下载workbench,可以连通客户端执…

CDMP认证与CDGA/CDGP的区别有哪些?

👑CDMP是DAMA国际组织的全英文考试 🌈CDGA和CDGP是DAMA中国主导,考试为中文考试。需要在规定的时间内报名后,参加线下笔试考试。 👍CDGA、CDGP证书和英文版的CDMP证书都是国际通用的,是数据管理领域专业的职…

嵌入式工作岗位未来会不会越来越少?

今日话题,嵌入式工作岗位未来会不会越来越少?未来的嵌入式岗位机会将会逐渐增多,因为嵌入式技术是万物互联的基础,从智能手表到智能汽车,嵌入式都扮演着关键角色。虽然相比计算机科学CS,嵌入式领域的天花板…

Klocwork—符合功能安全要求的自动化静态测试工具

产品概述 Klocwork是Perforce公司产品,主要用于C、C、C#、Java、 python和Kotlin代码的自动化静态分析工作,可以提供编码规则检查、代码质量度量、测试结果管理等功能。Klocwork可以扩展到大多数规模的项目,与大型复杂环境、各种开发工具集成…

ACM:每日学习 状压dp

状压dp: 状压dp是对一般dp的改进: //对于判断多种物品的取法,开多维数组比较麻烦,也不好开,使用二进制来表示物品的取与否。 //使用二进制的话,位运算就更能省时间了,而且更会节省空空间&…

3D Guassians Splatting相关解读

从已有的点云模型出发,以每个点为中心,建立可学习的高斯表达,用Splatting即抛雪球的方法进行渲染,实现高分辨率的实时渲染。 1、主要思想 1.引入了一种各向异性(anisotropic)的3D高斯分布作为高质量、非结…

实战 php 使用 wkhtmltopdf 生成pdf的全过程

公司里边有生成pdf报告的业务需求,之前有过尝试用tcpdf,直接生成的pdf的过程,但是pdf报告的内容数据,根据不同内容的变化,都是各种各样的bug,一直处理修修补补的状态,让后台开发人员很是头疼. 经过思索和甄选,总结出我们的业务中是由于样式不可控导致的,当时从逻辑上就思考到用…

CHS_06.2.1.6_2+线程的实现方式和多线程模型

CHS_06.2.1.6_2线程的实现方式和多线程模型 知识总览线程的实现方式用户级线程(User-Level Thread, ULT)内核级线程 多线程模型一对一模型多对一多对多模型 知识回顾 在上个小节中 我们学习了线程相关的一些基本概念 基础的知识 那这个小节中 我们回来看…

人脸识别打卡系统的设计与应用!人脸识别打卡系统有什么用?

教育行业的快速日新月异,对信息化建设的要求也越来越高。学校物业管理成为保障学校正常运行的重要环节。然而,在实践中,由于服务人员数量不足、管理不规范等问题,服务质量往往难以保证物业对学校师生的服务质量。为了解决这一问题…

如果你正在学自动化测试,那么请你仔细看完这篇文章

接触了不少同行,由于他们之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的人。 本人从事软件自动化测试已经近5年,从server端到web端,从API到mobile,切身体会到自动化带来的好处与痛楚…

高级 Python 面试问题与解答

文章目录 专栏导读1.什么是PIP?2.什么是 zip 函数?3.Python 中的 __init __ () 是什么?4.Python 中的访问说明符是什么?5.Python 中的单元测试是什么?6.Python全局解释器锁(GIL)?7.P…

linux yum仓库

yum是基于rpm包构建的软件更新机制,能够自动解决软件包之间的依赖关系。 常用命令 查询 yum list [软件名] 显示可用的安装包,如果不加软件名则显示所有的可用包 yum info [软件名] 显示安装包的详细信息 如果不加软件名是显示所有包…

CF1178F2 Long Colorful Strip 题解 搜索

Long Colorful Strip 传送门 题面翻译 题目描述 这是 F 题的第二个子任务。F1 和 F2 的区别仅在对于 m m m 和时间的限制上 有 n 1 n1 n1 种颜色标号从 0 0 0 到 n n n,我们有一条全部染成颜色 0 0 0 的长为 m m m 的纸带。 Alice 拿着刷子通过以下的过…

MybatisPlus框架入门级理解

MybatisPlus 快速入门入门案例常见注解常用配置 核心功能条件构造器自定义SQLService接口 快速入门 入门案例 使用MybatisPlus的基本步骤: 1.引入MybatisPlus的起步依赖 MybatisPlus官方提供了starter,其中集成了Mybatis和MybatisPlus的所有功能&#…

Spring Cloud 微服务中 gateway 网关如何设置健康检测端点

主要是为了让 k8s 识别到网关项目已经就绪,但是又不想在里面通过 Controller 实现。因为在 Controller 中这样做并不是最佳实践,因为 Gateway 的设计初衷是专注于路由和过滤,而不是业务逻辑的处理。 在 Gateway 中配置健康检查端点可以通过以…

QT报错记录

Ubuntu22.04安装Qt之后启动Qt Creator报错: Fron 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platforn plugin. Could not load. This application failed to start because no Qt platforn plugin could be initialized. Reinstalling t…

Qt vs开发将Graphics view提升 QChartview

1提升部件 2 添加Charts模块 3 在包含ui类的头文件添加QT_CHARTS_USE_NAMESPACE 或者添加 using namespace QtCharts #include <QtWidgets/QMainWindow> #include <QtCharts> #include "ui_mainwin.h" #include <qchartview.h> QT_CHARTS_USE_N…

k8s---pod控制器

pod控制器发的概念&#xff1a; 工作负载&#xff0c;workload用于管理pod的中间层&#xff0c;确保pod资源符合预期的状态。 预期状态&#xff1a; 1、副本数 2、容器重启策略 3、镜像拉取策略 pod出故障的出去等等 pod控制器的类型&#xff1a; 1、replicaset&#xf…

Star 72.4k!神仙级开源项目,真的一行代码都没有!

前言 在 GitHub 开源社区&#xff0c;我们经常能发现一些优秀的开源高分项目&#xff01;有时候为了找到最优秀的开源项目&#xff0c;却往往要在 GitHub 上搜罗很久&#xff0c;很消耗时间。 今天小编就给大家推荐一个近乎于完美的 GitHub 中文排行榜&#xff0c;在这里&…