Java启蒙之语言基础

news/2024/11/6 19:17:59/

目录

一.Java标识符和关键字

1.1Java标识符

1.2Java关键字

二.数据类型和变量的概述和关系

2.1Java变量

2.2Java的数据类型

2.2.1数据类型的分类的概述

2.2.2数据类型的转换

 3.Java运算符

总结


😽个人主页:tq02的博客_CSDN博客-领域博主

 🌈理想目标:努力学习,向Java进发,拼搏一切,找到一份朝九晚五,有假期的工作,让自己的未来不会有遗憾。
 🎁欢迎各位→点赞👍 + 收藏⭐ + 评论📝+关注✨

今日毒鸡汤:小时候做过的最蠢的事,可能是盼着长大吧。


一.Java标识符和关键字

1.1Java标识符

标识符:程序中给类、函数、变量等取的名字,会被编译器识别,不会在程序里起冲突。

定义规则:

  1. 由字母、“_”、“$”和数字组成。
  2. 以字母、“_”、“$”开头。
  3. 不可于关键字同名。
  4. 区分大小写

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    类名;     用以判断左边的对象是否是右边类的实例,运算返回 truefalse。                                                              (3)Java 的关系运算和逻辑运算的结果为 boolean,即逻辑或逻辑,而 C语言的关系运算或逻辑运算得到的结果是用整数 10代表真和假。


总结

         Java、C++等都是强类型语言(一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用).也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了,并且当数据类型错误时编译器报错。

        C语言运算符查询:http://t.csdn.cn/TYCTw

        若有不懂,可在评论区留言或者私信。


http://www.ppmy.cn/news/31750.html

相关文章

我一个普通程序员,光靠GitHub打赏就年入70万,

一个国外程序员名叫 Caleb Porzio在网上公开了自己用GitHub打赏年入70万的消息和具体做法。 Caleb Porzio 发推庆祝自己靠 GitHub 打赏(GitHub Sponsors)赚到了 10 万美元。 GitHub Sponsors是 GitHub 2019 年 5 月份推出的一个功能,允许开发…

【LeetCode】剑指 Offer(20)

目录 题目:剑指 Offer 38. 字符串的排列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 38. 字符串的…

jenkins问题

目录 python 不是内部或外部命令,也不是可运行的程序 ‘cmd’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 git 不是内部或外部命令,也不是可运行的程序或批处理文件。 pywintypes.com_error: (-2147024891, ‘拒绝访问。’, None,…

小帮软件机器人应用于通信集团财务数据填报、编制、稽核、银企对账

某大型通信集团是国有控股通信运营服务提供商,主要从事国内外通信设施服务业务、固定通信业务、移动通信业务、数据通信业务、网络接入业务、卫星国际专线业务和通信业务相关系统集成业务,管辖20多家子(分)公司、服务运营和支持网…

对数公式大全(及其Markdown语法)

以下是 对数运算 的常用公式收集整理。 logaMlogaNloga(M⋅N).(1)log_aMlog_aNlog_a(M\cdot N).\tag{1}loga​Mloga​Nloga​(M⋅N).(1) logaM−logaNlogaMN.(2)log_aM-log_aNlog_a\dfrac{M}{N}.\tag{2}loga​M−loga​Nloga​NM​.(2) logaMnnlogaM.(3)log_aM^nnlog_aM.\tag{3…

传统图像处理之颜色特征

博主简介 博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的&#xff0c…

【面试题】Nginx面试题汇总(无解答)

什么是Nginx?谈谈个人都理解,项目中是否用到,为什么要用,有什么优点?为什么要用Nginx?为什么Nginx性能这么高?Nginx怎么处理请求的?什么是正向代理和反向代理?使用“反向…

【数据结构】树与二叉树

文章目录树二叉树二叉树的性质完全二叉树二叉树的存储遍历二叉树和线索二叉树6.4 树和森林哈夫曼树应用树 树的定义:树是以分支关系定义的层次结构。 D; 树(Tree)是n(n≥0)个结点的有限集。 R 数据关系 有且仅有一个特定的称为根(Root) 的结点 当n>1时&…