02--Java 关键字、标识符及变量-程序员宅基地

技术标签: JavaSE  java  数据库开发  开发语言  

系列文章专栏

JavaSE自学全路线



一、关键字和保留字

1.1 关键字

  • 定义:Java 语言赋予了特殊含义,用做专门用途的字符串
  • 特点:关键字中所有字母都为小写
  • 官方地址:Java关键字

1.2 保留字

现有 Java 版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 goto、const。

二、标识符

  • 定义:Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
  • 规则

由 26 个英文字母大小写,0-9,_或$ 组成;
数字不可以开头;
标识符不能包含空格;
不可以使用关键字和保留字,但能包含关键字和保留字;
Java 中严格区分大小写,长度无限制

  • 规范

包名:多单词组成,所有字母都小写:xxxyyyzzz;
类名、接口名:多单词组成,所有单词首字母大写:XxxYyyZzz
变量名、方法名:多单词组成,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

三、变量

3.1 变量定义

概念:变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值,数据类型 变量名 = 初始化值

//定义并打印变量
class VariableTest {
    
	public static void main(String[] args){
    
		int myAge = 25; // 定义int类型变量myAge,并赋予初始值25
		System.out.println(myAge);
	}
}

注意:Java 中每个变量必须先声明赋值,后使用;

3.2 变量分类

3.2.1 基本数据类型

  1. 数值型
  • 整数类型:整型常量默认为 int 型,声明 long 型常量须后加‘l’或‘L’

byte:1字节=8bit位,-128 ~ 127
short:2字节
int:4字节
long:8字节

class VariableTest {
    
	public static void main(String[] args){
    
  		long myNumber = 1111111111L; // 定义 long 型常量须后加‘l’或‘L’
  		System.out.println(myNumber);
 }
}
  • 浮点类型:浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’

float:4字节,单精度,尾数可以精确到7位有效数字
double:8字节,双精度,精度是float的两倍

  • 字符型:一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符

char:单引号‘’括起来的单个字符;转义字符–’\n’表示换行符、'\t’表示制表符;使用Unicode值来表示字符型常量:‘\uXXXX’,其中,XXXX代表一个十六进制整数。如:\u000a 表示\n

  • 布尔型:只允许取值true和false,无null。

boolean:判断逻辑条件,一般用于程序流程控制

3.2.2 引用数据类型(后续)

  • 类(字符串属于类)
  • 接口
  • 数组

3.3 变量转换

3.3.1 自动类型提升–boolean类型不能与其它数据类型转换

定义:多种类型变量运算时,容量小的类型自动提升为容量大的数据类型

char、byte、short–>int–>long–>float–>double
注意:byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型

3.3.2 强制类型转换

定义:将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符:(转换后变量类型)原变量,但可能造成精度降低或溢出

class VariableTest {
    	
	public static void main(String[] args){
    
    		double myNumber = 12.9;
    		int yourNumber = (int)myNumber;  //阶段操作,可能损失精度
    		System.out.println(yourNumber);
    		int a1 = 128;
    		byte b1 = (byte)a1;
    		System.out.println(b1);  //输出-128,精度损失
 }
}

3.4 (补充)字符串类型变量的使用

注意:String 属于引用数据类型,声明 String 类型变量时,使用一对 “”
String可以和8种基本数据类型变量做运算,且运算只能是连接运算+,运算的结果任然是String类型

class VariableTest {
    
	public static void main(String[] args){
    
    		int a = 100;
    		String b = "学号:";
 		String c = b + a; //+ 做连接运算
    		System.out.println(c);
 }
}

四、进制(了解)

  • 二进制(binary):0和1,满2进1,以 0b 或 0B 开头
  • 十进制(decimal):0-9,满10进1
  • 八进制(octal):0-7,满8进1,以数字0开头表示
  • 十六进制(hex):0-9及A-F,满16进1,以 0x 或 0X 开头表示,此处的A-F不区分大小写。如:0x21AF +1= 0X21B0

原码:直接将一个数值换成二进制数。最高位是符号位,正数为0,负数为1
负数的反码:是对原码按位取反,只是最高位(符号位)确定为1
负数的补码:其反码加1。计算机以二进制补码的形式保存所有的整数


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_74018236/article/details/136348678

智能推荐

HTML5 Web SQL 数据库_方式准则的定义-程序员宅基地

文章浏览阅读1k次。1、HTML5 Web SQL 数据库 Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。如果你是一个 Web 后端程序员,应该很容易理解 SQL 的操作。Web SQL 数据库可以在最新版的 Safari, Chrome 和 Opera 浏览器中工作。2、核心方法 以下是规范中定义的三个_方式准则的定义

spring Boot 中使用线程池异步执行多个定时任务_springboot启动后自动开启多个线程程序-程序员宅基地

文章浏览阅读4.1k次,点赞2次,收藏6次。spring Boot 中使用线程池异步执行多个定时任务在启动类中添加注解@EnableScheduling配置自定义线程池在启动类中添加注解@EnableScheduling第一步添加注解,这样才会使定时任务启动配置自定义线程池@Configurationpublic class ScheduleConfiguration implements SchedulingConfigurer..._springboot启动后自动开启多个线程程序

Maven编译打包项目 mvn clean install报错ERROR_mvn clean install有errors-程序员宅基地

文章浏览阅读1.1k次。在项目的target文件夹下把之前"mvn clean package"生成的压缩包(我的是jar包)删掉重新执行"mvn clean package"再执行"mvn clean install"即可_mvn clean install有errors

navacate连接不上mysql_navicat连接mysql失败怎么办-程序员宅基地

文章浏览阅读974次。Navicat连接mysql数据库时,不断报1405错误,下面是针对这个的解决办法:MySQL服务器正在运行,停止它。如果是作为Windows服务运行的服务器,进入计算机管理--->服务和应用程序------>服务。如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。创建1个文本文件(此处命名为mysql-init.txt),并将下述命令置于单一行中:SET PASSW..._nvarchar链接不上数据库

Python的requests参数及方法_python requests 参数-程序员宅基地

文章浏览阅读2.2k次。Python的requests模块是一个常用的HTTP库,用于发送HTTP请求和处理响应。_python requests 参数

近5年典型的的APT攻击事件_2010谷歌网络被极光黑客攻击-程序员宅基地

文章浏览阅读2.7w次,点赞7次,收藏50次。APT攻击APT攻击是近几年来出现的一种高级攻击,具有难检测、持续时间长和攻击目标明确等特征。本文中,整理了近年来比较典型的几个APT攻击,并其攻击过程做了分析(为了加深自己对APT攻击的理解和学习)Google极光攻击2010年的Google Aurora(极光)攻击是一个十分著名的APT攻击。Google的一名雇员点击即时消息中的一条恶意链接,引发了一系列事件导致这个搜_2010谷歌网络被极光黑客攻击

随便推点

微信小程序api视频课程-定时器-setTimeout的使用_微信小程序 settimeout 向上层传值-程序员宅基地

文章浏览阅读1.1k次。JS代码 /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { setTimeout( function(){ wx.showToast({ title: '黄菊华老师', }) },2000 ) },说明该代码只执行一次..._微信小程序 settimeout 向上层传值

uploadify2.1.4如何能使按钮显示中文-程序员宅基地

文章浏览阅读48次。uploadify2.1.4如何能使按钮显示中文博客分类:uploadify网上关于这段话的搜索恐怕是太多了。方法多也试过了不知怎么,反正不行。最终自己想办法给解决了。当然首先还是要有fla源码。直接去管网就可以下载。[url]http://www.uploadify.com/wp-content/uploads/uploadify-v2.1.4...

戴尔服务器安装VMware ESXI6.7.0教程(U盘安装)_vmware-vcsa-all-6.7.0-8169922.iso-程序员宅基地

文章浏览阅读9.6k次,点赞5次,收藏36次。戴尔服务器安装VMware ESXI6.7.0教程(U盘安装)一、前期准备1、下载镜像下载esxi6.7镜像:VMware-VMvisor-Installer-6.7.0-8169922.x86_64.iso这里推荐到戴尔官网下载,Baidu搜索“戴尔驱动下载”,选择进入官网,根据提示输入服务器型号搜索适用于该型号服务器的所有驱动下一步选择具体类型的驱动选择一项下载即可待下载完成后打开软碟通(UItraISO),在“文件”选项中打开刚才下载好的镜像文件然后选择启动_vmware-vcsa-all-6.7.0-8169922.iso

百度语音技术永久免费的语音自动转字幕介绍 -程序员宅基地

文章浏览阅读2k次。百度语音技术永久免费的语音自动转字幕介绍基于百度语音技术,识别率97%无时长限制,无文件大小限制永久免费,简单,易用,速度快支持中文,英文,粤语永久免费的语音转字幕网站: http://thinktothings.com视频介绍 https://www.bilibili.com/video/av42750807 ...

Dyninst学习笔记-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏9次。Instrumentation是一种直接修改程序二进制文件的方法。其可以用于程序的调试,优化,安全等等。对这个词一般的翻译是“插桩”,但这更多使用于软件测试领域。【找一些相关的例子】Dyninst可以动态或静态的修改程序的二进制代码。动态修改是在目标进程运行时插入代码(dynamic binary instrumentation)。静态修改则是直接向二进制文件插入代码(static b_dyninst

在服务器上部署asp网站,部署asp网站到云服务器-程序员宅基地

文章浏览阅读2.9k次。部署asp网站到云服务器 内容精选换一换通常情况下,需要结合客户的实际业务环境和具体需求进行业务改造评估,建议您进行服务咨询。这里仅描述一些通用的策略供您参考,主要分如下几方面进行考虑:业务迁移不管您的业务是否已经上线华为云,业务迁移的策略是一致的。建议您将时延敏感型,有快速批量就近部署需求的业务迁移至IEC;保留数据量大,且需要长期稳定运行的业务在中心云上。迁移方法请参见如何计算隔离独享计算资源..._nas asp网站