javaSE___语法基础(关键字、标识符、数据类型、字符、字符串、运算符)

news2024/12/23 20:51:39

语法基础

      • 一、关键字的概述和使用
      • 二、标识符的概述和组成规则
      • 三、标识符中常见的命名规则
      • 四、数据类型的概述和分类
      • 五、数据类型的概述和分类
      • 六、数据类型转换之强制转换
      • 七、数据类型转换之强制转换超出范围
      • 八、字符和字符串参与运算
      • 九、算术运算符的基本用法
      • 十、算术运算符++和--的用法
      • 十一、赋值运算符的基本用法
      • 十二、关系运算符的基本用法及其注意事项
      • 十三、逻辑运算符的基本用法
      • 十四、逻辑运算符&&和&的区别
      • 十五、三元运算符的基本用法

一、关键字的概述和使用

  • A:什么是关键字
    • 被Java语言赋予特定含义的单词
  • B:关键字的特点
    • 组成关键字的字母全部小写
  • C:常见关键字
    • public static void class等
  • D:关键字的注意事项
    • goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记,非常直观

二、标识符的概述和组成规则

  • A:什么是标识符
    • 就是给类,接口,方法,变量等起名字时使用的字符序列
  • B:标识符的组成规则
    • 英文大小写字母
    • 数字字符
    • $和_
  • C:标识符注意事项
    • 1,不能使用关键字
    • 2,不能数字开头

三、标识符中常见的命名规则

  • 见名知意
  • A:包
    • 最好是域名倒过来,要求所有的字母小写
  • B:类或者接口
    • 如果是一个单词首字母大写
    • 如果是多个单词每个单词首字母大写(驼峰标识)
  • C:方法或者变量
    • 如果是一个单词全部小写
    • 如果是多个单词,从第二个单词首字母大写
  • D:常量
    • 如果是一个单词,所有字母大写
    • 如果是多个单词,所有的单词大写,用下划线区分每个单词

四、数据类型的概述和分类

  • A:为什么有数据类型
    • Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
  • B:Java中数据类型的分类
    • 基本数据类型
    • 引用数据类型
      • 面向对象部分讲解
  • C:基本数据类型分类(4类8种)
    • 整数型
      • byte 占一个字节 -128到127
      • short 占两个字 -215~215-1
      • int 占四个字节 -231~231-1
      • long 占八个字节 -263~263-1
    • 浮点型
      • float 占四个字节 -3.403E38~3.403E38 单精度
        • float表示的数据范围比long的范围要大
      • double 占八个字节-1.798E308~1.798E308 双精度
    • 字符型
      • char 占两个字节 0~65535
    • 布尔型
      • boolean
        • boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小

五、数据类型的概述和分类

  • A:案例演示
    • a:int + int
    • b:byte + int
  • B:Java中的默认转换规则
    • 取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
  • C:画图解释byte+int类型的问题,x=x+b,x+b=7,如图:
public static void main(String[] args) {
        int x = 3;
        byte b = 4;
        x = b + x;
        System.out.println(x);      //7
    }

在这里插入图片描述

六、数据类型转换之强制转换

  • B:强制转换的格式
    • b = (byte)(a + b);
  • C:强制转换的注意事项
    • 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同
        
        

我们把上面例子改一下,改成如下的程序,会报错,可能损失精度,因为type比int小,从大往小可能损失精度,但我们知道结果为7,在byte的范围之内,但它就是报错了,怎么办呢

public static void main(String[] args) {
        int x = 3;
        byte b = 4;
        b = b + x;
        System.out.println(x);      //报错饿了
    }

碰到这种情况,就需要用到强制类型转换了,修改代码如下:

public static void main(String[] args) {
        int x = 3;
        byte b = 4;
        b = (byte)( b + x);
        System.out.println(b);      //7
    }

再看一张图,加深一下印象
     
  
在这里插入图片描述

七、数据类型转换之强制转换超出范围

上面的例子强制转换还在范围之内,但如果超国了范围之内呢?那么就丢失精度了。

public static void main(String[] args) {
        byte b = (byte)(123 + 12);
        System.out.println(b);      //-121
    }

八、字符和字符串参与运算

  • A:案例演示
    • System.out.println(‘a’);

    • System.out.println(‘a’+1);

    • 通过看结果知道’a’的值是多少,由此引出ASCII码表

  • B:ASCII码表的概述
    • 记住三个值:
      • ‘0’ 48
      • ‘A’ 65
      • ‘a’ 97
  • C:案例演示
    • System.out.println(“hello”+‘a’+1);
    • System.out.println(‘a’+1+“hello”);
  • D:+在有字符串参与中被称为字符串连接符
    • System.out.println(“5+5=”+5+5);
    • System.out.println(5+5+“=5+5”);

例子:

public static void main(String[] args) {
        System.out.println('a' + 1);			//98,因为有ASCII码表,a字符对应的是int类型的97
        System.out.println((char)('a' + 1));    //b

        System.out.println("hello"+'a'+1);		//helloa1     任何数据类型用+与字符串相连接都会产生新的字符串
        System.out.println('a'+1+"hello");      //98hello

        System.out.println(" 5 + 5 = " + (5 + 5));      // 5 + 5 = 10
    }

九、算术运算符的基本用法

  • A:什么是运算符
    • 就是对常量和变量进行操作的符号。
  • B:运算符的分类
    • 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符
  • C:算数运算符有哪些
    • +,-,*,/,%,++,–
  • D:注意事项:
    • a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
    • b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
    • c:/获取的是除法操作的商,%获取的是除法操作的余数
    • %运算符
      • 当左边的绝对值小于右边绝对值时,结果是左边
      • 当左边的绝对值等于右边或是右边的倍数时,结果是0
      • 当左边的绝对值大于右边绝对值时,结果是余数
      • %运算符结果的符号只和左边有关系,与右边无关
      • 任何一个正整数%2结果不是0就是1可以用来当作切换条件

例子:

public static void main(String[] args) {

        System.out.println(10 / 3);				//3     整数相除结果只能是整数
        System.out.println(10 / 3.0);			//3.3333333     如果想得到小数,把其中一个数变成小数,另一个数在运算的时候会自动类型提升
        System.out.println(-5 % 5);             //0
        System.out.println(13 % -5);            //3
    }

十、算术运算符++和–的用法

  • A:++,–运算符的作用
    • 自加(++)自减(–)运算
    • ++:自加。对原有的数据进行+1
    • –:自减。对原有的数据进行-1
  • B:案例演示
    • a:单独使用:
      • 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
    • b:参与运算使用:
      • 放在操作数的前面,先自增或者自减,然后再参与运算。
      • 放在操作数的后面,先参与运算,再自增或者自减。

例子:

public static void main(String[] args) {

        //单独使用
		int c = 3;
		//c++;						//a = a + 1;
		++c;						//a = a + 1;
		System.out.println(c);      //4

        //参与运算使用
        int a = 3;
        int b;

        b = a++;					//当++在变量后面的时候,会先将变量中的值取出做赋值操作,然后再自身加1
        //b = ++a;					//当++在变量前面的时候,会先自身加1,然后在将结果赋值
        System.out.println("a = " + a);         //a = 4
        System.out.println("b = " + b);         //b = 3
    }

十一、赋值运算符的基本用法

  • A:赋值运算符有哪些
    • a:基本的赋值运算符:=

      • 把=右边的数据赋值给左边。
    • b:扩展的赋值运算符:+=,-=,*=,/=,%=

      • += 把左边和右边做加法,然后赋值给左边。

十二、关系运算符的基本用法及其注意事项

  • A:关系运算符有哪些(比较运算符,条件运算符)
    • ==,!=,>,>=,<,<=
  • 注意事项:
    • 无论你的操作是简单还是复杂,结果是boolean类型。

    • “==“不能写成”=”。

十三、逻辑运算符的基本用法

  • A:逻辑运算符有哪些

    • &,|,^,!
    • &&,||
  • B:案例演示

  • 逻辑运算符的基本用法

  • 注意事项:

    • a:逻辑运算符一般用于连接boolean类型的表达式或者值。
    • b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
      • 算术表达式:a + b
      • 比较表达式:a == b(条件表达式)
  • C:结论:

  • &逻辑与:有false则false。

  • |逻辑或:有true则true。

  • ^逻辑异或:相同为false,不同为true。

  • !逻辑非:非false则true,非true则false。

    • 特点:偶数个不改变本身。

十四、逻辑运算符&&和&的区别

  • A:案例演示
    • &&和&的区别?
      • a:最终结果一样。
      • b:&&具有短路效果。左边是false,右边不执行。
      • &是无论左边是false还是true,右边都会执行
  • B:同理||和|的区别?(自学)
  • C:开发中常用谁?
    • &&,||,!

十五、三元运算符的基本用法

  • A:三元运算符的格式
    (关系表达式) ? 表达式1 : 表达式2;
  • B:三元运算符的执行流程
  • C:案例演示
    • 获取两个数中的最大值

例子:

public static void main(String[] args) {

        //(关系表达式) ? 表达式1 : 表达式2;
        int x = 10;
        int y = 5;
        int z;
        z = (x > y) ? x : y;		//括号的值是true,把x赋值给z,为false,把y赋值给z

        System.out.println("z = " + z);     //z = 10
    }

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

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

相关文章

闭包的理解

1.什么是闭包&#xff1f; 变量的私有化。一个函数内的变量,随着函数的执行完毕,对于的变量也会随着销毁,闭包可以让变量在函数执行完毕之后不必销毁,通常将这个变量通过匿名函数的形式return出去,这个变量只能被访问,不能被修改。 2.证明变量执行玩被销毁 (1)函数体没有被包…

((type *)0)->member的用法

问题缘由&#xff0c;在学习 rt-thread 内核的时候遇到了这么一行代码&#xff1a; to_thread rt_list_entry(rt_thread_priority_table[0].next,struct rt_thread, tlist); 而 rt_list_entry 的宏定义如下&#xff1a; /* 已知一个结构体里面的成员的地址&#xff0c;反推…

利用 Python 中的地理空间数据与 GeoPandas

推荐&#xff1a;使用 NSDT编辑器快速搭建3D应用场景 空间数据的真正潜力在于它能够连接数据点及其各自的位置&#xff0c;为高级分析创造无限的可能性。地理空间数据科学是数据科学中的一个新兴领域&#xff0c;旨在利用地理空间信息并通过空间算法和机器学习或深度学习等先进…

Android:使用命令行发现keytool不是内部命令解决办法

一、前言&#xff1a;最近在搞引入高德地图的SDK&#xff0c;发现需要给app签名打包。记录一下。 二、当我在命令行中输入keytool的时候说keytool不是内部命令 解决方案&#xff1a; 找到系统属性--------高级----------点击环境变量 双击点开 找到java\jre1.8.0_202\bin新建…

GLTF在线编辑器

GLTF在线编辑器提供了一个内置的模型查看器&#xff0c;可以加载和预览 glTF/glb 文件。用户可以在不用安装任何插件的情况下直接在浏览中快速查看和编辑器3D模型。 它的功能特点如下&#xff1a; 1、打开GLTF模型 用户可以在GLTF编辑器中拖入GLB/GLTF模型或者选择打开本地GL…

Bootstarp4 设计网页轮播组件

很多网站都有广告轮播功能&#xff0c;可使用bootstrap4中的carousel组件非常简单的实现。 目录 下载bootstrap4 轮播功能实现 简单实现轮播组件 增加标识图标 增加标题和说明 切换淡入淡出 设置数据间隔 总结 下载bootstrap4 下载 Bootstrap Bootstrap v4 中文文档 …

Android13 下拉菜单栏中添加快捷截图按钮

Android 13 原生系统下拉状态栏中是没有快捷截图按钮,现在需要添加快捷截图功能。 添加快捷截图功能后的效果图: 涉及修改的文件如下: modified: vendor/mediatek/proprietary/packages/apps/SystemUI/res/values/config.xml modified: vendor/mediatek/proprietary/…

软件测试的流程有哪些?

一、需求调研 1. 委托方提供资料 A. 填写测试委托申请表 B. 操作手册 C. 开发需求规格说明书 D. 开发合同及招标文件等 2. 双方技术沟通确定测试具体内容&#xff0c;如功能性测试、性能效率测试、信息安全性测试、兼容性测试、可靠性测试等。 3. 我方给出测试方案及报价…

SpringMVC学习|Servlet回顾、理解SpringMVC小demo、SpringMVC原理

Servlet回顾 创一个空的maven父工程&#xff0c;导入相关依赖&#xff0c;测试的、spring的、servlet的、jsp以及jstl标签的。 创建一个空的maven子项目&#xff0c;并添加web支持 为了保险起见&#xff0c;在子项目中添加servlet和jsp的依赖 编写一个Servlet类&#xff0c;实…

【Python】从入门到上头—常用内置模块基础应用(13)

文章目录 datetimebase64hashlibhmacurllibXMLHTMLParserrandom小结 datetime datetime是Python处理日期和时间的标准库。 获取当前日期时间 from datetime import datetime now datetime.now() # 获取当前datetime print(now) #2023-09-13 10:28:48.621343 print(type(no…

JSP ssm 网上求职管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP ssm 网上求职管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采…

3900页手册415集视频426G资料迅为RK3568开发板

资料优势 专为3568编写|迅为原创|拒绝网络拼凑 20个手册2800页手册进行结构分层适用于学习与开发 为了方便大家清晰快速的学习&#xff0c;迅为iTOP-3568开发板手册资料全面升级&#xff0c;对手册内容进行了结构分层&#xff0c;共计20个文档&#xff0c;超2800页的资料专为…

sql注入之盲注总结

死在山野的风里&#xff0c;活在自由的梦里 sql注入之盲注总结 布尔 - 逻辑判断时间 - 延时判断报错 - 报错回显&#xff08;强制性报错 &#xff09;以DWVA靶场为例 盲注就是在注入的过程中&#xff0c;获取的数据不能显示到前端页面&#xff0c;此时&#xff0c;我们需要利用…

2023年武汉初级、中级、副高工程师职称评审条件是什么?甘建二告诉你

武汉中级职称评审通知已经出来了&#xff0c;武汉市中级、副高申报时间是8月31--9月18号&#xff0c;那么评这些职称需要满足什么条件呢&#xff1f;今天甘建二给大家分享一下评职称学历年限、专业等是怎么计算的&#xff0c;点赞收藏慢慢看。 一、武汉初级职称评审条件&#x…

【MySQL进阶】SQL性能分析

一、SQL性能分析 1.SQL执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [session|global] status 命令可以提供服务器状态信 息。通过如下指令&#xff0c;可以查看当前数据库的 INSERT 、 UPDATE 、 DELETE 、 SELECT 的访问频次&#xff1a; -- session 是查看当…

jvm深入研究文档--整体概念

阿丹&#xff1a; 精通JVM对于一个java工程师非常重要&#xff0c;要是深入了解了jvm就可以有效的面对下面的问题 程序调优&#xff1a;JVM的配置和调优对于程序的运行有着至关重要的影响。不同的业务场景需要不同的JVM配置&#xff0c;比如设置不同的垃圾收集器、调整新生代和…

软考 - 计算机组成与体系笔记

数据的表示 进制转化 二进制转十进制&#xff08;十进制以D表示&#xff09; 从右往左&#xff0c;用二进制位上的数字乘以2的n次幂的和&#xff08;n从0开始1累加&#xff09; 十进制转二进制&#xff08;二进制以B表示&#xff09; 十进制数不断除以2直至到0&#xff0c;得…

电子智能充气泵pcba/芯片方案

智能充气泵是一种常见的气体压缩设备&#xff0c;它可以将空气或其他气体压缩成高压气体&#xff0c;用于充气、输送、压缩等工业和生活领域。智能充气泵的原理是利用机械或电动力量将气体压缩&#xff0c;使其体积减小&#xff0c;压力增大&#xff0c;从而达到充气的目的。电…

【echarts】如何将iconfont转换成echart所需的path路径 echarts折线图、柱状图如何设置自定义svg图标

步骤 下载iconfont图标到本地&#xff0c;用浏览器打开&#xff0c;右键查看源代码&#xff0c;或者用开发IDE软件打开&#xff0c;找到path d...&#xff0c;这个就是我们要传递给echart的icon的值。 代码示例&#xff1a; legend: {data: data?.map((item) > item.comp…

Fiddler抓http数据

目录 参考博客 一、Fiddler配置二、分析Http请求1. Http消息结构简介1.1 Request请求消息1.2 Response响应消息 2. 分析Get接口2.1 请求示例2.2 查看Get请求2.3 查看Get响应 3 分析Post接口 参考博客 一、Fiddler配置 首先需要对Fiddler抓取Https请求进行相关配置&#xff1a…