Java 基础入门篇(二)——— Java 基础语法

news2024/12/23 1:23:38

文章目录

  • 一、注释
  • 二、字面量
  • 三、变量
    • 3.1 变量概述
    • 3.2 变量在计算机中的底层原理
  • 四、数据类型
  • 五、关键字、标志符
  • 六、类型转换
    • 6.1 自动类型转换
    • 6.2 表达式的自动类型转换
    • 6.3 强制类型转换
  • 七、运算符
    • 7.1 基本算数运算符
    • 7.2 + 符号做连接符
    • 7.3 自增自减运算符
    • 7.4 赋值运算符
    • 7.5 关系运算符
    • 7.6 逻辑运算符
    • 7.7 三目运算符
    • 7.8 运算符优先级
  • 八、程序流程控制
    • 8.1 顺序结构
    • 8.2 分支结构
    • 8.3 循环结构
    • 8.4 跳转关键字:break、continue
  • 补充:键盘录入技术


一、注释

  • 作用: 对程序进行解释说明的文字,不影响程序的执行。
  • 分类:
    单行注释: // 注释内容
    多行注释: /* 注释内容 */
    文档注释: /**
    	 	  * 注释内容
    	 	  */ 
    
  • 注意: 文档注释的内容将来可以提取到程序说明书中去,且不影响程序执行的原因是编译后的 Class 文件中没有注释了。

二、字面量

  • 作用: 告诉程序员数据在程序中该怎么书写。
  • 分类:

    ① 整数、小数:生活中写法与程序中写法一样。
    ② 字符:程序中必须使用单引号围起来,里面只能一个字符。
    ③ 字符串:程序中必须双引号围起来,里面内容可以随意。
    ④ 布尔值:false,true。
    ⑤ 空值:null 以后的内容。


三、变量

3.1 变量概述

  • 作用: 内存中的一块区域,里面可以存储一个数据,存储的数据可以变化。
  • 格式: 数据类型 变量名称 = 初始值;
  • 赋值: 从右边往左执行。
  • 注意事项:

    ① 变量必须先声明才能使用
    ② 什么类型的变量只能存放什么类型的数据
    ③ 变量从定义开始到 } 有效,同一个有效范围内不能定义重名的变量。
    ④ 变量定义的时候可以没有初始值,但是使用前必须有初始值。


3.2 变量在计算机中的底层原理

在这里插入图片描述


四、数据类型

  • 定义变量: 数据类型 变量名称 = 初始值;
  • 作用: 约束变量只能存储什么类型的数据,帮助定义出不同类型的变量。
  • 分类: 引用数据类型、基本数据类型。引用数据类型包含String等,基本数据类型内存等信息如下:
    在这里插入图片描述
  • 注意事项:
    随便写整数字面量,默认是 int 类型,想当成 long 类型后面加 L 或 l ;
    随便写小数字面量,默认是 double 类型,想当成 float 类型后面加 F 或 f
    如:Long b = 1234567899008343; b 是 long 型,但字面量123… 超过了整型的范围,因此会报错
        Long b = 1234567899008343L; 这样则不会报错

五、关键字、标志符

  • 关键字: java自己使用的,我们不能拿来取名字。
  • 标志符: 就是我们取的名字,其规则:不能数字开头,不能用关键字,区分大小写。

六、类型转换

开发中会存在不同类型的变量或者数据赋值给其他类型的变量,也存在不同类型的数据一起运算,其结果类型要确定下来。

6.1 自动类型转换

  • 原理: 小范围类型的变量可以直接赋值给大范围类型的变量

  • 范围信息:
    在这里插入图片描述

  • 举例: 这里在给 sh 赋值时,JVM 首先将变量 b 的值转换成 short 类型然后再赋值给 sh。

    byte b = 11;   // 00001011
    short sh = b;  // 00000000 00001011 
    
  • 注意这种形式是可以的:

    char ch = 'a';
    int code  = ch; // 97
    

6.2 表达式的自动类型转换

  • 含义: 在表达式中,小范围类型的变量会自动提升成大范围运算。

  • 结论: 表达式的最终结果数据类型是由表达式中最高数据类型决定的。

  • 注意: byte short char 在表达式中,是直接提升成int运算的。

    byte a = 10;
    int b = 20;
    double c = 1.0;
    int rs1 = a + b + c;  // 报错,最高类型是 double,应用 double 接收
    double rs2 = a + b + c;  // 不报错
    
    byte i = 10;
    byte j = 20;
    byte k1 = i + j; // 报错,byte 在表达式中直接转换成 int 类型参与运算。
    int k2 = i + j;  // 不报错
    
  • 面试笔试题:

    byte b1 = 21;  byte b2 = 22;      
    byte b3 = b1 + b2 ; // 错误形式
    int  b3 = b1 + b2 ; // 不报错
    byte b3 = (byte) (b1 + b2); // 不报错
    

6.3 强制类型转换

  • 含义: 大范围类型的变量或者数据不能直接赋值给小范围类型的变量,否则报错!必须进行强制类型转换才可以。

  • 格式: 数据类型 变量 = (数据类型) 其他类型的变量 / 数据

  • 注意: 强制类型转换可能出现数据丢失。
    在这里插入图片描述

  • 注意: 浮点型类型的变量或者数据强制转换成整型,保留整数部分返回的,小数部分直接不要了。

    double a = 99.5;
    int  i = (int)a; // 99
    

七、运算符

7.1 基本算数运算符

  • 常见的算数运算符: + - * / %
  • 注意:/ 两个整数相除的结果一定是整数,可以先乘1.0,转换为浮点类型。
    10 / 3 = 3
    1.0 * 10 / 3 = 3.333....
    

7.2 + 符号做连接符

  • 场景:+ 符号与字符串一起运算时,充当连接符,连接后的结果还是一个字符串。
  • 识别技巧:从左到右,能算则算,不能算大家连在一起。
    在这里插入图片描述

7.3 自增自减运算符

在这里插入图片描述


7.4 赋值运算符

在这里插入图片描述


7.5 关系运算符

在这里插入图片描述


7.6 逻辑运算符

在这里插入图片描述


7.7 三目运算符

格式:条件表达式 ? 值1:值2


7.8 运算符优先级

运算符存在谁先谁后执行的情况:
( ) 优先级最高;*/ 高于 ±&& 优先级高于 ||


八、程序流程控制

8.1 顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。


8.2 分支结构

  • if:可以判断条件来决定执行哪个分支,格式如下:
    在这里插入图片描述

  • switch:根据表达式的值来进行值匹配选择对应的分支执行,格式如下:
    在这里插入图片描述

  • if 和 switch 的区别:if 的功能更强大,适合做区间匹配。如果是值匹配的操作建议用switch,格式清晰,性能较好。

  • switch的注意事项
    表达式类型支持 byte、short、int、char、String,还有枚举。不支持double、float、long
    case 给出的值不允许重复,且只能是字面量,不能是变量
    不要忘记写break,否则会出现 穿透现象


8.3 循环结构

作用:控制一段代码重复的执行多次。

  • for 循环:
    在这里插入图片描述

  • while 循环
    在这里插入图片描述

  • do-while 循环:一定会执行一次循环体语句!再判断循环条件
    在这里插入图片描述


8.4 跳转关键字:break、continue

break:跳出并结束当前所在循环的执行。只能用于结束所在循环,或者结束所在 switch 分支的执行。
continue:用于跳出当前循环的当次执行,进入下一次循环。只能在循环中进行使用。


补充:键盘录入技术

在这里插入图片描述


文章参考:Java入门基础视频教程,java零基础自学就选黑马程序员Java入门教程(含Java项目和Java真题)

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

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

相关文章

【C++技能树】类的六个成员函数Ⅰ --构造、析构、拷贝构造函数

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法…感兴趣就关注我吧!你定不会失望。 本篇导航 0.this指针1.Class默认成员函数2.构造函数调用规则: 3.析构函数4.拷贝构造函数 0.this指针 在开始本章内容之前,先浅…

Channel-wise Knowledge Distillation for Dense Prediction(ICCV 2021)原理与代码解析

paper:Channel-wise Knowledge Distillation for Dense Prediction official implementation:https://github.com/irfanICMLL/TorchDistiller/tree/main/SemSeg-distill 摘要 之前大多数用于密集预测dense prediction任务的蒸馏方法在空间域spatial…

(求正数数组的最小不可组成和,养兔子)笔试强训

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 目录 文章目录 一、选择题1 二、[编程题]养兔子 三、[编程题]求正数数组的最小不可组成和 一、选择题1 reflection是如何工作的__牛客网 (nowcoder.com) 考虑下面这个简单的例子&…

大数据Doris(八):Broker部署和集群启停脚本

文章目录 Broker部署和集群启停脚本 一、Broker部署 1、准备Broker 安装包 2、启动 Broker

PyQt6剑指未来-日期和时间

前言 时间和日期是软件开发中非常重要的概念。在PyQt6中,时间和日期模块提供了处理日期、时间和日期时间的类和函数,以及管理时区和夏令时的特性。这些模块提供了可靠和易于使用的工具,使得在PyQt6中处理和呈现时间和日期的操作变得轻松起来…

Java中Lambda表达式(初学到精通)

目录 一、Lambda表达式是什么?什么场景下使用Lambda? 1.Lambda 表达式是什么 2.函数式接口是什么 第二章、怎么用Lambda 1.必须有一个函数式接口 2.省略规则 3.Lambda经常用来和匿名内部类比较 第三章、具体使用举例() 1.案…

跳跃游戏类题目 总结篇

一.跳跃游戏类题目简单介绍 跳跃游戏是一种典型的算法题目,经常是给定一数组arr,从数组的某一位置i出发,根据一定的跳跃规则,比如从i位置能跳arr[i]步,或者小于arr[i]步,或者固定步数,直到到达某…

C++ 链表概述

背景 当需要存储大量数据并需要对其进行操作时,常常需要使用到链表这种数据结构。它可以用来存储一系列的元素并支持插入、删除、遍历等操作。 概念 一般来说,链表是由若干个节点组成的,每个节点包含了两个部分的内容:存储的数…

【嵌入式环境下linux内核及驱动学习笔记-(6-内核 I/O)-阻塞与非阻塞】

目录 1、阻塞与非阻塞1.1 以对recvfrom函数的调用及执行过程来说明阻塞的操作。1.2 以对recvfrom函数的不断轮询调用为例,说明非阻塞时进程的行为。1.3 简单介绍内核链表及等待队列1.4 等待队列1.4.1 定义等待队列头部(wait_queue_head_t)1.4…

vue动态添加多组数据添加正则限制

如图新增多条数据,如果删除其中一条正则校验失败的数据,提示不会随之删除,若想提示删除并不清空数据 delete (item, index) {this.applicationForm.reserveInfo.forEach((v, i) > {if (i index) {this.$refs.formValidate.fields.forEac…

UFT——操作模块

示例一 创建一个可重复利用的登录测试更改Action的名称。使用本地数据表。创建一个主调用测试。建立测试迭代。处理缺失的Action。 分析:就是创建一个只有登录的测试起名为login,然后在创建一个主测试起名字比如main,在main中,调用…

微信小程序定义模板

微信小程序提供模板(template)功能,把一些可以共用的,复用的代码在模板中定义为代码片段,然后在不同的地方调用,可以实现一次编写,多次引用的效果。 首先我们看一下官网是如何操作的 一般的情…

笔记:对多维torch进行任意维度的多“行”操作

如何取出多维torch指定维度的指定“行” 从二维torch开始新建torch取出某一行取出某一列一次性取出多行取出连续的多行取出不连续的多行 一次取出多列取出连续的多列取出不连续的多列 考虑三维torch取出三维torch的任意两行(means 在dim0上操作)取出连续…

( 字符串) 9. 回文数 ——【Leetcode每日一题】

❓9. 回文数 难度:简单 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如…

Git的安装与使用+Git在IDEA中的使用

文章目录 一、Git概述1、版本控制器的方式2、Git的工作流程图 二、Git的安装与常用命令1、Git环境安装2、Git环境基本配置3、获取本地仓库4、基础操作指令 三、分支1、常用指令2、解决合并冲突 四、Git远程仓库1、创建远程仓库2、远程操作仓库3、冲突处理 四、IDEA中使用Git1、…

数据结构——二叉树

二叉树 1 二叉树的种类 1.1 满二叉树 节点数量为 2^k - 1 (k是树的深度,底层的叶子节点都是满的) 1.2 完全二叉树 完全二叉树是指除了下面一层外,其余层的节点都是满的; 且最下面一层的叶子节点是从左到右连续的。 下面这个…

pci总线协议学习笔记——PCI总线基本概念

1、pci总线概述 (1)PCI,外设组件互连标准(Peripheral Component Interconnection),是一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准; (2)最早提出的PCI总线工作在33MHz频率之下,传输带宽达到133MB/s(33M…

【LeetCode】236. 二叉树的最近公共祖先

1.问题 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是…

1992-2022年31省GDP、第一产业增加值、第二产业增加值 第三产业增加值

1992-2022年31省GDP、第一产业增加值、第二产业增加值 第三产业增加值 1、时间:1992-2022年 2、范围:包括31省 3、指标:省GDP、省第一产业增加值、省第二产业增加值、省第三产业增加值 4、缺失情况说明:无缺失 5、来源&#…