Java启蒙之语言基础
目录
一.Java标识符和关键字
1.1Java标识符
1.2Java关键字
二.数据类型和变量的概述和关系
2.1Java变量
2.2Java的数据类型
2.2.1数据类型的分类的概述
2.2.2数据类型的转换
3.Java运算符
总结
😽个人主页:tq02的博客_CSDN博客-领域博主
🌈理想目标:努力学习,向Java进发,拼搏一切,找到一份朝九晚五,有假期的工作,让自己的未来不会有遗憾。
🎁欢迎各位→点赞👍 + 收藏⭐ + 评论📝+关注✨今日毒鸡汤:小时候做过的最蠢的事,可能是盼着长大吧。
一.Java标识符和关键字
1.1Java标识符
标识符:程序中给类、函数、变量等取的名字,会被编译器识别,不会在程序里起冲突。
定义规则:
- 由字母、“_”、“$”和数字组成。
- 以字母、“_”、“$”开头。
- 不可于关键字同名。
- 区分大小写
1.2Java关键字
关键字:又名Java保留字,为Java语言本身提供的一种特殊的标识符。在Java中已经使用了的文字,在编程时不能使用的存在。
注:Java关键字有50个,以上是部分关键字。
二.数据类型和变量的概述和关系
在学习C语言,我们也接触过数据类型和变量,但是在Java中,同样也存在数据类型和变量。可以说我们无论用哪种语言敲代码,我们都离不开数据类型和变量的使用。
2.1Java变量
变量指的是程序运行时可变的量.相当于开辟一块内存空间来保存一些数据. Java语言的变量分为2种:基本数据类型变量 、引用变量
基本数据类型变量:使用了基本数据类型的变量
引用变量:非使用了基本数据类型的变量。
命名规则:
1.声明一个变量之后,必须用赋值语句对变量进行初始化, 千万不要使用未初始化的变量,Java 编译器认为这样的语句序列是错误的.
2.变量名必须是一个以字母开头并由字母或数字构成的序列, 但 '+'和 ' © ’ 这样的符号不能出现在变量名中,空格也不行。并且大小写敏感。
个人建议:
1.命名时尽量使变量名中所有的字符都是有意义的.
2.在对两个不同的变量进行命名时, 最好不要只存在大小写上的差异.
3.尽管 $ 是一个合法的 Java 字符, 但不要在你自己的代码中使用这个字符. 它只用在 Java 编译器或其他工具生成的名字中.
2.2Java的数据类型
2.2.1数据类型的分类的概述
数据类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性。
Java数据类型分为两种 :基本数据类型和引用数据类型
Java基本数据类型源于C语言,但又有一部分的差别,java基本数据类型一共有8种
以上就是基本数据类型,可以看见部分数据类型和C语言不一样,例如,char在C语言里是一个字节,而在Java里则是2个字节。
Java引用数据类型非常多,大致包括:
类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型
简单而言:非基本数据类型的都是引用数据类型。
2.2.2数据类型的转换
数据类型转换分为2种,第一种为自动类型转换、第二种为强制类型转换
自动类型转换:当系统支持把某个基本数据类型直接赋值给另一种数据类型,则为自动类型转换。
自动转换如上图
当有两种不同数据类型运算时,左边的数据类型会自动转换为右边的数据类型。
代码示例:
public class main1 {public static void main(String[] args) {char c='a'; //在ASCII码值里为97int a=10;double d=1.5;boolean y=true;System.out.println(c+a); //结果为 107System.out.println(a+d); //结果为11.5//System.out.println(a+y); 运算类型不同,无法编译,报错}
}
如图,很明显严格按照自动转换图。而boolean并不在图中,,无法转换。
强制类型转换:通过强制类型转换运算符即(类型名)来强制进行类型转换。
代码示例:
public class main1 {public static void main(String[] args) {int a1=349;byte b1=(byte)a1;System.out.println(b1); //打印出93的值}
}
为什么会输出93呢?道理很简单,int类型为4个字节,而byte为1个字节。所以会损失一部分数值。你可以试想一下,一个250ml的杯子去装500ml的水,肯定会有250ml的水浪费了。而这便是强制转换,可能会损失数值
三.Java运算符
Java运算符也来源于C语言,和C语言运算符大体相同,但也有细节区分。
图片来源于百度
和C语言的比较:
(1) Java 取消了C 语言的 sizeof()运算符。sizeof用于求括号中的内容在内存中所占字节数。
(2) Java 新增了一个 instanceof 的运算,一般形式为 对象名 instanceof 类名; 用以判断左边的对象是否是右边类的实例,运算返回 true 或 false。 (3)Java 的关系运算和逻辑运算的结果为 boolean,即逻辑真或逻辑假,而 C语言的关系运算或逻辑运算得到的结果是用整数 1和0代表真和假。
总结
Java、C++等都是强类型语言(一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用).也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了,并且当数据类型错误时编译器报错。
C语言运算符查询:http://t.csdn.cn/TYCTw
若有不懂,可在评论区留言或者私信。
相关文章:

Java启蒙之语言基础
目录 一.Java标识符和关键字 1.1Java标识符 1.2Java关键字 二.数据类型和变量的概述和关系 2.1Java变量 2.2Java的数据类型 2.2.1数据类型的分类的概述 2.2.2数据类型的转换 3.Java运算符 总结 😽个人主页:tq02的博客_CSDN博客-领域博主 &#…...

数据库系统--T-SQL数据查询功能-多表查询(超详细/设计/实验/作业/练习)
目录课程名:数据库系统内容/作用:设计/实验/作业/练习学习:T-SQL数据查询功能-多表查询一、前言二、环境与设备三、内容四、内容练习题目:对应题目答案:五、总结课程名:数据库系统 内容/作用:设…...

Spring Boot 3.0系列【14】核心特性篇之Configuration相关注解汇总介绍
有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.0.3 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 前言@Configuration@ConfigurationProperties@EnableConfigurationProperties@ConfigurationPropertiesScan@Configuratio…...

[ubuntu][jetson]给jetson增加swap空间类似于给windows加虚拟内存
具体操作如下: #打开性能模式 sudo nvpmodel -m 0 && sudo jetson_clocks #增加swap空间,防止爆内存 swapoff -a sudo fallocate -l 15G /swapfile sudo chmod 600 /var/swapfile sudo mkswap /swapfile sudo swapon /swapfile…...

小黑子—Java从入门到入土过程:第二章
Java零基础入门2.0Java系列第二章1. 注释和关键字2. 字面量3. 变量3.1 基本用法3.2 使用方式3.3 注意事项4. 变量练习5. 计算机中的数据存储5.1 计算机的存储规则5.2 进制5.3 进制间转换二进制转十八进制转十十六进制转十十进制转其他进制6. 数据类型7. 定义变量的练习8. 标识符…...

ElasticSearch搜索详细讲解与操作
全文检索基础 全文检索流程 流程: #mermaid-svg-7Eg2qFEl06PIEAxZ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7Eg2qFEl06PIEAxZ .error-icon{fill:#552222;}#mermaid-svg-7Eg2qFEl06PIEAxZ .error…...

web实现太极八卦图、旋转动画、定位、角度、坐标、html、css、JavaScript、animation
文章目录前言1、html部分2、css部分3、JavaScript部分4、微信小程序演示前言 哈哈 1、html部分 <div class"great_ultimate_eight_diagrams_box"><div class"eight_diagrams_box"><div class"eight_diagrams"><div class&…...

【LeetCode】33. 搜索旋转排序数组、1290. 二进制链表转整数
作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 目录 33. 搜索旋转排序数组 1290. 二进制链表转整数 33. 搜索旋转排序数组 33. 搜索旋转排序…...

IBM Semeru Windows 下的安装 JDK 17
要搞清楚下载那个版本,请参考文章:来聊聊 OpenJDK 和 JVM 虚拟机下载地址semeru 有认证版和非认证版,主要是因为和 OpenJ9 的关系和操作系统的关系而使用不同的许可证罢了,本质代码是一样的。在 Windows 下没有认证版,…...

Lambda表达式和steram流
目录 引言: 语法: Lambda 表达式实例: demo演示: Stream流: 引言: Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函…...

面试必会-MySQL篇
1. Mysql查询语句的书写顺序Select [distinct ] <字段名称>from 表1 [ <join类型> join 表2 on <join条件> ]where <where条件>group by <字段>having <having条件>order by <排序字段>limit <起始偏移量,行数>2. Mysql查询语…...

Hadoop入门常见面试题与集群时间同步操作
目录 一,常用端口号 Hadoop3.x : Hadoop2.x: 二,常用配置文件: Hadoop3.x: Hadoop2.x: 集群时间同步: 时间服务器配置(必须root用户): (1)…...

JS 数组去重的方法
// 数组去重 const arr ["1", "1", "2", "3", "5", "3", "1", "5", "4"] console.log(this.deduplicate(arr)) // [1, 2, 3, 5, 4] // 数组对象去重 const arr [ { id: 1, nam…...

PMP项目管理项目沟通管理
目录1 项目沟通管理2 规划沟通管理3 管理沟通4 监督沟通1 项目沟通管理 项目沟通管理包括通过开发工件,以及执行用于有效交换信息的各种活动,来确保项目及其相关方的信息需求得以满足的各个过程。项目沟通管理由两个部分组成:第一部分是制定…...

2.JVM常识之 运行时数据区
1.JVM核心组成 2.JVM 运行时数据区(jdk8) 程序计数器:线程私有,当前线程所执行字节码的行号指示器 jvm栈:线程私有,Java 虚拟机栈为 JVM 执行 Java 方法服务 本地方法栈:线程私有,本…...

你的游戏帐号是如何被盗的
据报道,2022上半年,中国游戏市场用户规模达到了5.54亿人,游戏市场销售收入1163.1亿元,相较去年均为同比增长的情况。如此庞大的市场规模,黑色产业链是绕不开的话题。 但相较于游戏中大家常见的玩家与玩家、玩家与官方…...

C++11异步编程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言1、std::future和std::shared_future1.1 std:future1.2 std::shared_future2、std::async3、std::promise4、std::packaged_task前言 C11提供了异步操作相关的类…...

20230310----重返学习-DOM元素的操作-时间对象-定时器
day-024-twenty-four-20230310-DOM元素的操作-时间对象-定时器 复习 获取元素 id document.getElementById() 类名 document.getElementsByClassName() 标签名 document.getElementsByTagName() name属性 document.getElementsByName() 选择器 document.querySelector()docum…...

江苏专转本转本人后悔排行榜
江苏专转本转本人后悔排行榜 一、复习的太迟: 后悔指数:五颗星。 复习越到最后,时间一天天变少,要复习的内容还有很多,很多人都后悔没有早早开始,总想着多给我两月一定会考上的。 担心时间不够用,那就努力利…...

【算法时间复杂度】学习记录
最近开算法课,开几篇文章记录一下算法的学习过程。 关于算法的重要性 学习计算机当程序员的话,在编程过程中是绕不开算法这个大矿山的,需要我们慢慢挖掘宝藏。 算法(Algorithm)是指用来操作数据、解决程序问题的一组…...

汽车车机芯片Linux系统内核编译问题总结
谈到车机,很多人会想到华为问界上装的大屏车机,号称车机的天花板,基于鸿蒙OS的,而今天谈到的车机芯片用的是linux内核Kernel,对于它的编译,很多人一时会觉得头大,的确如果工具不是很齐全,就会遇到这样那样的问题,但是过程都会有错误提示,按照错误提示基本可以解决,而…...

Android13 音量曲线调整
Android13 音量曲线调整 Android13 上配置文件的路径: /vendor/sprd/modules/audio/engineconfigurable_apm/工程目录/system/etc/audio_engine_config/audio_policy_engine_stream_volumes.xml /vendor/sprd/modules/audio/engineconfigurable_apm/工程目录/sys…...

OpenHarmony通过MQTT连接 “改版后的华为IoT平台”
一、前言 本篇文章我们使用的是BearPi-HM_Nano开发板:小熊派的主板+E53_IA1扩展板 源码用的是D6_iot_cloud_oc,点击下载BearPi-HM_Nano全量源码 那么为什么要写这篇呢? 前段时间看到OpenHarmony群里,经常有小伙伴问接入华为IoT平台的问题,他们无法正常连接到华为IoT平台等…...

SQS (Simple Queue Service)简介
mazon Simple Queue Service (SQS)是一种完全托管的消息队列服务,可以让你分离和扩展微服务、分布式系统和无服务应用程序。 在讲解SQS之前,首先让我们了解一下什么是消息队列。 消息队列 还是举一个电商的例子,一个用户在电商网站下单后付…...

高速PCB设计指南系列(三)
第一篇 高密度(HD)电路的设计 本文介绍,许多人把芯片规模的BGA封装看作是由便携式电子产品所需的空间限制的一个可行的解决方案,它同时满足这些产品更高功能与性能的要求。为便携式产品的高密度电路设计应该为装配工艺…...

【C++】C++11——左右值|右值引用|移动语义|完美转发
文章目录一、左值与右值1.概念2.引用3.注意二、右值引用的意义1.左值引用意义2.右值引用和移动语义3.容器新增三、万能引用四、完美转发一、左值与右值 1.概念 左值是什么?右值是什么? 左值是一个表示数据的表达式(如变量名或解引用的指针&…...

[ROC-RK3399-PC Pro] 手把手教你移植主线Buildroot(基于2023.02-rc3版本)
🍇 博主主页:Systemcall小酒屋🍇 博主简介:Neutionwei,C站嵌入式领域新星创作者之一,一枚热爱开源技术、喜欢分享技术心得的极客,注重简约风格,热衷于用简单的案例讲述复杂的技术&am…...

重温线性代数
前言 对于普通的数学工作者而言,掌握矩阵、线性空间的基本性质和用法比领会抽象的概念更实用。数学专业的同学需要全面深入学习近世代数的理论和演绎法则,例如模的概念和运算。 总之,我个人认为,不论是微积分、还是线性代数&…...

2023河北沃克HEGERLS甘肃金昌重型仓储项目案例|托盘式四向穿梭车智能密集存储系统在工业行业的创新应用
项目名称:自动化仓储托盘式四向穿梭车智能密集立体库项目 项目合作客户:甘肃省金昌市某集团企业 项目施工地域:甘肃省金昌市 设计与承建单位:河北沃克金属制品有限公司(自主品牌:海格里斯HEGERLS&#x…...

软件测试的案例分析 - 闰年5
文章目的 显示不同的博客能获得多少博客质量分 (这是关于博客质量分的测试 https://www.csdn.net/qc) 这个博客得了 83 分。怎么才能得到更多分数? 正文 我们谈了不少测试的名词, 软件是人写的, 测试计划和测试用例也是人写的, 人总会犯错误。错误发生…...