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之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...