Java基础语法

news2024/11/15 21:53:41

文章目录

  • Java 基础语法
    • 一、注释
      • 1. 注释介绍
      • 2. 注释分类
      • 3. 注释颜色
    • 二、关键字
      • 1. 关键字介绍
      • 2. 所有关键词
    • 三、字面量
    • 四、变量
      • 1. 变量
      • 2. Debug 工具
        • 1)如何加断点?
        • 2)如何开启 Debug 运行?
        • 3)点哪里 ?
        • 4)看哪里 ?
        • 5)如何删除断点 ?
      • 3. 变量的注意事项
        • 1)变量名不允许重复定义
        • 2)一条语句可以定义多个变量
        • 3)变量在使用之前一定要进行赋值
        • 4)变量的作用域范围
    • 五、标识符
      • 1. 标识符概述
      • 2. 标识符命名规则
      • 3. 标识符命名规范
        • 1)小驼峰命名法:变量
        • 2)大驼峰命名法:类
        • 3)其他规范
    • 六、数据类型
      • 1. 数据类型介绍
      • 2. 不同基本数据类型变量的定义和使用
    • 七、Scanner 键盘录入
      • 1. 键盘录入阿效果介绍
      • 2. 键盘录入的三个步骤

Java 基础语法

一、注释

1. 注释介绍

注释是在程序指定位置添加的说明性信息,简单理解,就是对代码的一种解释。

2. 注释分类

单行注释

// 注释信息

多行注释

/* 
	注释信息1
	注释信息2
 */

文档注释

/** 
	注释信息1
	注释信息2
*/

实例如下:

image-20230114211404210

// 通过class定义了一个类,类名称叫做HelloWorld
public class HelloWorld {
    /*
        main方法,又称之为主方法
        这里是程序的入口,如果没有编写主方法,程序就不知道从哪里开始执行
     */
    public static void main(String[] args) {
        System.out.println("我是练习时长两年半的Java练习生,喜欢唱跳、rap和篮球!");//这是打印语句,也叫输出语句,可以打印双引号所包裹的内容
        System.out.println();
    }
}

注意事项:

注释内容不会参与编译和运行

3. 注释颜色

我们现在使用的注释颜色为灰色,且字体为斜体,这样我们不是很方便去阅读注释。

对注释的配置进行修改:

image-20230114212216295

image-20230114214055604

二、关键字

1. 关键字介绍

关键字:被 Java 赋予了特定涵义的英文单词。

image-20230114215525459

注意事项:

Java 中的关键字,已经被赋予了特殊的涵义,这些单词不允许使用,所以我们再创建 Java 类或者变量时尽量避开关键词。

2. 所有关键词

image-20230114215705208

这些不需要大家死记,在后面我们会一一学到。

三、字面量

字面量,在其他教材中称作常量或者字面值变量。

学习字面量主要就是学习数据在程序中的书写格式,表格如下:

常用数据生活中的写法程序中的写法说明
整数666,-88666,-88写法一致
小数13.14,-5.2113.14,-5.21写法一致
字符串黑马程序员“HelloWorld”,“黑马程序员”程序中必须使用双引号
字符A, 0, 我‘A’,‘0’, ‘我’程序中必须使用单引号,有且仅能一个字符
布尔值真、假true 、false只有两个值:true:代表真,false:代表假
空值值是:null一个特殊的值,空值(后面会讲解作用,暂时不管)

字面量练习

1、需求:请将自己的个人信息打印在控制台 (姓名, 年龄, 性别, 身高, 婚姻状况)

public class ConstantTest {
    public static void main(String[] args) {
        System.out.println("约翰尼-纯情阿赖");
        System.out.println(25);
        System.out.println('男');
        System.out.println(183.2);
        System.out.println(false);
    }
}

输出结果为:

image-20230114220606623

2、需求:某网站需要展示歌曲信息, 使用 Java 程序实现

image-20230114220659754

public class ConstantTest2 {
    public static void main(String[] args) {
        System.out.println("老鹰乐队(Engles)");
        System.out.println("流行");
        System.out.println("选集");
        System.out.println("CD");
        System.out.println(3);
        System.out.println(9.8);
    }
}

输出结果为:

image-20230114221021041

四、变量

1. 变量

变量就是内存中的存储空间,空间中存储着经常发生改变的数据。

比如我们经常使用的购物车,我们可以修改物品的数量。

image-20230115085211805

下面是一个工资计算器,把工资储存到内存中。

image-20230115085352569

那么,如何来定义一个变量呢?

定义:数据类型 变量名 = 数据值;
使用:根据变量名进行使用

数据类型有很多,这里现以整型变量为例进行演示,数据类型在后面会讲到。

public class VariableDemo1 {
    /*
        变量介绍:内存中的存储空间,空间中记录着经常发生改变的数据

        变量的定义格式:

                数据类型 变量名 = 数据值;
                数据类型 : 整数 : int
     */
    public static void main(String[] args) {
        int salary = 12000;
        // 使用变量:根据变量的名字使用
        System.out.println(salary);

        salary = 15000;
        System.out.println(salary);

        int age = 18;
        System.out.println(age);
    }
}

具体流程:

image-20230115094725049

image-20230115094805523

image-20230115094856844

image-20230115094937516

image-20230115095024651

2. Debug 工具

Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。

Debug调试,又被称为断点调试,断点其实是一个标记,告诉Debug从标记的地方开始查看。

image-20230115110848702

1)如何加断点?

选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

image-20230115105210957

2)如何开启 Debug 运行?

在代码区域右键 Debug 执行

image-20230115105259354

3)点哪里 ?

点Step Over 这个箭头,也可以直接按 F8,实现运行下一步:

image-20230115105435421

点 Stop 结束:

image-20230115105513937

点 Return 重新执行

image-20230115112438198

4)看哪里 ?

看 Variables

image-20230115110253408

看 Console 窗口

image-20230115110357127

5)如何删除断点 ?

如果是多个断点,可以每一个再点击一次。

image-20230115110532410

也可以一次性全部删除。

image-20230115110603421

image-20230115110639817

image-20230115110702833

3. 变量的注意事项

注意事项:

  • 变量名不允许重复定义
  • 一条语句可以定义多个变量
  • 变量在使用之前一定要进行赋值
  • 变量的作用域范围

1)变量名不允许重复定义

image-20230115111350455

2)一条语句可以定义多个变量

image-20230115112529451

3)变量在使用之前一定要进行赋值

image-20230115112706295

4)变量的作用域范围

这里先不说明,在后面会进行讲解。

public class VariableDemo2 {
    /*
        变量名注意事项:

            1.变量不允许重复定义
            2.一条语句,可以定义出多个变量,中间需要使用逗号进行分隔
            3.变量在使用之前一定要进行赋值
            4.TODO:变量的作用域范围
     */
    public static void main(String[] args) {
        int salary = 12000;

        // 1.变量不允许重复定义
        // int salary = 15000;

        System.out.println(salary);

        // 2.一条语句,可以定义出多个变量,中间需要使用逗号进行分隔
        int a = 10, b = 20, c = 30;

        // 3.变量在使用之前一定要进行赋值
        int num;
        num=10;
        System.out.println(num);

    }
}

五、标识符

1. 标识符概述

标识符:就是给类,方法,变量等起名字的符号。

image-20230115113827016

2. 标识符命名规则

  • 由数字、字母、下划线(_)和美元符($)组成
  • 不能以数字开头
  • 不能是关键字
  • 区分大小写

判断下面哪些变量名不符合规则:

变量名是否符合原因
bj符合由字母组成
b2符合由字母和数字组成
2b不符合不能以数字开头
class不符合不能是关键字
_2b符合由数字、字母、下划线组成
#itheima不符合#不是符合要求的符号
ak47符合由字母和数字组成
Class符合区分大小写
helloworld符合由字母组成

3. 标识符命名规范

1)小驼峰命名法:变量

规范1:标识符是一个单词的时候,所有字母小写

范例1:name

规范2:标识符由多个单词组成的时候,从第二个单词开始,首字母大写

范例2:firstName

2)大驼峰命名法:类

规范1:标识符是一个单词的时候,首字母大写

范例1: Student

规范2:标识符由多个单词组成的时候,每个单词的首字母大写

范例2: GoodStudent

3)其他规范

我们在对变量命名的时候,要做到见名知意,不然人们很难理解这个变量是干什么的。

image-20230115131841330

比如,我们定义一个变量:

int a = 18;

这个变量 a是干什么的,我们也不知道。

image-20230115131944526

但如果我们这样进行定义:

int age = 18;

哦,这是定义了一个年龄变量,18对应的就是18岁了,这样我们就明白了。

image-20230115132349345

六、数据类型

1. 数据类型介绍

数据类型大体可以分为基本数据类型和引用数据类型两块:

  • 基本数据类型
  • 引用数据类型

这里我们先仅对基本数据类型进行介绍,引用数据类型会在后续的课程中出现。

基本数据类型如下表所示:

数据类型关键字取值范围内存占用(字节)
整数byte-128~1271
short-32768~327672
int(默认)-2147483648~2147483647 (10位数)4
long-9223372036854775808 ~ 9223372036854775807 (19位数)8
浮点数float1.401298e-45到3.402823e+384
double(默认)4.9000000e-324 到1.797693e+3088
字符char0-655352
布尔booleantrue,false1

说明:e+38表示是乘以10的38次方, 同样,e-45表示乘以10的负45次方

2. 不同基本数据类型变量的定义和使用

使用思路:

  1. 整数类型:首选int,如果发现int装不下了,将类型换成long,定义long类型变量需要加入L的标识
  2. 小数类型:首选Double:非要用float类型,需要加入F标识
  3. 其他的基本数据类型直接使用即可。
public class DataTypeDemo {
    /*
       1.基本数据类型
            整数
                byte                1个字节
                short               2个字节
                int                 4个字节
                long                8个字节
            小数
                float(单精度)        4个字节
                double(双精度)       8个字节
            字符
                char                2个字节
            布尔
                boolean             1个字节
        2.引用数据类型
        ----------------------------------------------------------

        使用思路:
                1.整数类型:首选int,如果发现int装不下了,将类型换成long,定义long类型变量需要加入L的标识

                2.小数类型:首选Double:非要用float类型,需要加入F标识
     */
    public static void main(String[] args) {
        int age = 10;
        long tel = 18864799521L;
        double height = 182.6;
        float width = 56.5F;
        char gender = '男';
        boolean f = true;

    }
}

案例:使用所学的不同数据类型,将讲师的简介打印输出:

image-20230115144821236

代码如下:

public class VariableTest {
    public static void main(String[] args) {
        //姓名
        String name = "约翰尼 纯情阿绅";
        //年龄
        int age = 18;
        //性别
        char gender = '男';
        //身高
        double height = 180.1;
        //是否单身
        boolean flag = true;

        System.out.println(name);
        System.out.println(age);
        System.out.println(gender);
        System.out.println(height);
        System.out.println(flag);
    }
}

输出结果为:

image-20230115145512113

我们来看一下 char 数据类型,它的取值范围0-65535,这个不是字符型吗?怎么还有范围。

a ----> 字节 ----> 二进制 ----> 01100001 ---->十进制 ----> 97

我们先来了解一下 编码表和ASCII 码表:

  • 编码表:是计算机中字节到字符的一套对应关系。
  • ASCII 码表:American Standard Code for Information Interchange美国信息交换标准代码

image-20230115154120001

比如,字母 a 在ASCII 码表中的位置就是97,那么也就是说,0~65535对应的是ASCII 码表中字符。

七、Scanner 键盘录入

1. 键盘录入阿效果介绍

image-20230115154731150

image-20230115154741878

2. 键盘录入的三个步骤

①:让自己的Java程序找到Scanner符咒

②:召唤精灵

③:指挥精灵干活

import java.util.Scanner;

public class ScannerDemo {
    /*
        ①:让自己的Java程序找到Scanner符咒
            代码:import java.util.Scanner;
            位置:class的上面
            含义:能够让自己的类ScannerDemo,从代码仓库中,找到Scanner符咒
        ②:召唤精灵
            代码:Scanner sc = new Scanner(System.in);
            位置:main方法里面
            含义:从符咒中召唤精灵,给精灵起名字叫做 sc
        ③:指挥精灵干活

     */
    public static void main(String[] args) {
        //召唤精灵
        Scanner sc = new Scanner(System.in);
        //指挥精灵干活
        int age = sc.nextInt();
        
        System.out.println(age);
    }
}

案例:Scanner 键盘录入用户信息

需求 : 请使用 Scanner 模拟注册功能

image-20230115165212231

代码如下:

import java.util.Scanner;

public class ScannerTest {
    public static void main(String[] args) {
        //1.召唤Scanner精灵
        Scanner sc = new Scanner(System.in);

        //2.键盘录入姓名
        System.out.println("请输入您的姓名:");
        String name = sc.next();

        //3.键盘录入年龄
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt();

        //4.键盘输入性别
        System.out.println("请输入您的性别:");
        String gender = sc.next();

        //5.键盘录入身高
        System.out.println("请输入您的身高:");
        double height = sc.nextDouble();

        //6.键盘录入婚姻状况
        System.out.println("请输入您的婚姻状况:");
        boolean flag = sc.nextBoolean();

        System.out.println("注册成功!");

        System.out.println(name);
        System.out.println(age);
        System.out.println(gender);
        System.out.println(height);
        System.out.println(flag);

    }
}

输出结果:

image-20230115171029367

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

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

相关文章

ElasticSearch架构之整合ELK

前言本篇文章主要是说ElasticSearch对Logstash、FileBeat、Kibana整合形成ELK的架构,为什么需要整合这个架构呢?一个很重要的原因就是我们开发过程中有相当多的日志需要进行查看,如果我们要查找一个问题需要到多台服务器进行查看那是相当麻烦…

【Java基础知识 4】Java数据类型之间的转换、运算符

本文已收录专栏 🌲《Java进阶之路》🌲 目录 🌴基本数据类型 🍃01、布尔 🍃02、byte 🍃03、short 🍃04、int 🍃05、long 🍃06、float 🍃07、double …

C生万物 | 详解程序环境和预处理【展示程序编译+链接全过程】

👑作者主页:Fire_Cloud_1 🏠学习社区:烈火神盾 🔗专栏链接:万物之源——C 文章目录一、程序的翻译环境和执行环境二、详解编译链接1、前言小知识🔍2、翻译环境【important】2.1 编译① 预编译【…

【LeetCode每日一题】【2023/1/15】2293. 极大极小游戏

文章目录2293. 极大极小游戏方法1:双指针2293. 极大极小游戏 LeetCode: 2293. 极大极小游戏 简单\color{#00AF9B}{简单}简单 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度&#x…

Windows 10的子系统不是非Ubuntu不可

Ubuntu 的制造商 Canonical 早已和微软进行合作,让我们体验了极具争议的 Bash on Windows。外界对此也是褒贬不一,许多 Linux 重度用户则是质疑其是否有用,以及更进一步认为 Bash on Windows 是一个安全隐患。 Unix 的 Bash 是通过 WSL&#…

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射动态设置表名获取添加功能自增的主键自定义映射解决字段名和属性名不一致的情况为字段起别名,保持和属性名的一致设置全局配置,保持和属性名的一致通过resultMap设置自定义的映射关系动态设置表名 mapper接口&#xff1a…

Java实现线段树

问题一:开始的子区间是怎么分的? M (LR)/2,左子区间为[L,M],右子区间为[M1,R] 问题二:如何进行区间统计? 假设这13个数为1,2,3,4,1,2,3,4,1,2,3,4,1. 在区间之后标上该区间的数字之和: 如…

Windows安全加固-AD建立与加入

AD建立与加入 实验环境说明: 域控从机: Windows 2003 域控主机: Windows 2008 IP设置 设置同一网段-保证连通性 将NDS指向Windos2008 第一步,域控服务器需要将服务器设为静态 IP地址 1.将Windows2008服务器IP地址修改为192.1…

c++ - 第24节 - c++的IO流

1.C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf()与printf()。 scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。C语言借助了相应的缓冲区…

【Android gradle】自定义一个android gradle插件之buildSrc

文章目录1. 前言2. 简单使用3. 其余用法3.1 依赖&版本管理3.2 插件版本自增3.3 其余4. 链接1. 前言 在【Android gradle】自定义一个android gradle插件,并发布到私有Artifactory仓库这篇文章中介绍了定义一个gradle插件,然后发布到远程或者本地仓库…

对数据库索引和事务的理解

1.数据库授权命令&#xff1a; GRANT<权限> on 表名(或列名) to 用户。 举例&#xff1a; 授予用户SQLTest对数据库Sales的CUSTOMERS表的列cid、cname的查询权限 grant select on CUSTOMERS(cid,cname) to SQLTest; 2.MySQL索引&#xff08;index&#xff09; 什么是索引…

C++5:初见模板

目录 函数模板 函数模板的实例化&#xff1a; 隐式实例化 显示实例化 类模板 虽然学习了类和对象&#xff0c;能很方便的处理一些容器类的问题&#xff0c;但是我们还是会遇到如下这种情况。 我们创建一个简单的stack类 class Stack { public:Stack(){} private:int* _a;…

【机器学习】Logistic Regression 逻辑回归算法详解 + Java代码实现

文章目录一、逻辑回归简介1.1 什么是逻辑回归1.2 Sigmoid函数1.3 预测函数二、逻辑回归实战 - Java代码实现一、逻辑回归简介 1.1 什么是逻辑回归 逻辑回归&#xff08;Logistic Regression&#xff09;是一种用于解决二分类&#xff08;0 or 1&#xff09;问题的机器学习方法…

时间序列模型SCINet模型(自定义项目)

前言 读完代码解析篇&#xff0c;我们针对开源项目中的模型预测方法做一下介绍。Github源码下载地址下载数据集ETTh、PEMS、Traffic、Splar-Energy、Electricity、Exchange-Rate&#xff0c;这几类公共数据集的任意一类就行。这里以ETTh数据集为例&#xff0c;先在项目文件夹下…

whistle抓包工具应用

原文地址&#xff1a;(67条消息) whistle抓包工具学习_BBC蟹耳总的博客-CSDN博客_w2 抓包 一、安装whistle 首先安装好whistle抓包工具&#xff0c;有以下两个步骤 在终端中全局安装whistle&#xff1a;npm install -g whistle可以通过whistle help查看相关信息&#xff0c;…

《零基础学机器学习》读书笔记一

《零基础学机器学习》读书笔记一 一、机器学习快速上手路径 1.1 机器学习的家族谱 人工智能&#xff0c;可以被简单地定义为努力将通常由人类完成的智力任务自动化。 AI效应的2个阶段&#xff1a; &#xff08;1&#xff09;AI将新技术、新体验带进人类的生活&#xff0c;完…

linux环境安装mysql5.7版本

目录 一、下载准备阶段 二、安装运行阶段 linux环境安装mysql是我们工程师必备的技能之一&#xff0c;今天我们实战分享一下安装流程&#xff1a; 一、下载准备阶段 1、查看linux系统是否已经安装mysql rpm -qa|grep -i mysql 显示没有 如果安装过&#xff0c;可以删除&…

DFS排列组合与连通性

目录 一、前言 二、DFS与排列组合 1、DFS&#xff1a;自写排列算法1 &#xff08;1&#xff09;基础模板 &#xff08;2&#xff09;基于(1)输出前n个数任意m个都全排列 2、DFS&#xff1a;自写排列算法2&#xff08;这个写法更常见&#xff09; &#xff08;1&#xff…

Java安装详细教程

这里写自定义目录标题Java安装详细教程1.下载Java2&#xff0c;找到jdk8进行下载3.安装jdk4.配置环境变量5.查看是否已经成功安装Java安装详细教程 换了新电脑了&#xff0c;需要安装Java&#xff0c;如果对你也有帮助就点个赞吧~~ 文章目录Java安装详细教程1.下载Java2&#…

一阶低通滤波器学习

导读&#xff1a;电压型磁链观测器由于物理概念清晰、简单易用而备受关注。然而电压型磁链观测器包含一纯积分项&#xff0c;被积项的初始相位与直流偏置都会影响积分结果。所以对传统电压型磁链观测器的改进措施有很多&#xff0c;本期文章主要介绍采用一阶低通滤波器来替换掉…