01-Java基础语法

Java基础语法

    • 1. 注释
      • 使用的技巧:
      • 注意点
    • 2. 关键字
      • 2.1 概念
      • 2.2 第一个关键字class
    • 3. 字面量
      • 区分技巧:
      • 扩展: 制表符:
    • 4. 变量
      • 4.1 什么是变量?
      • 4.2 变量的定义格式
        • 4.2.1 格式详解
        • 4.2.2 常用的数据类型
        • 4.2.3 变量的注意事项
      • 4.3 变量的练习
    • 5. 数据类型
      • 5.1 Java语言数据类型的分类
      • 5.2 基本数据类型的四类八种
        • 说明:
        • 需要记忆以下几点
      • 5.3 定义8种基本数据类型变量
        • **注意点:**
      • 5.4 练习1
      • 5.5 练习2
      • 5.6 练习3
    • 6. 标识符
      • 6.1 硬性要求:
      • 6.2 软件建议:
      • 6.2.1 小驼峰命名法
      • 6.2.2 大驼峰命名法
      • 阿里巴巴命名规范细节:
    • 7. 键盘录入

1. 注释

注释是对代码的解释和说明文字。
Java中的注释分为三种:
  • 单行注释:
// 这是单行注释文字
  • 多行注释:
/*
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/
注意:多行注释不能嵌套使用。
  • 文档注释(暂时用不到):
/**
这是多行注释文字
这是多行注释文字
这是多行注释文字
*/

使用的技巧:

如果我们要对代码进行解释,那么就可以使用注释。
当注释的内容比较少,一行就写完了,可以用单行注释。
如果注释的内容比较多,需要写在多行,那么可以使用多行注释。

注意点

注释的内容不会参与编译和运行的,仅仅是对代码的解释说明而已。
所以,不管在注释当中写什么内容,都不会影响代码运行的结果。

2. 关键字

2.1 概念

被Java赋予了特定含义的英文单词。
当我们在代码中写了关键字之后,程序在运行的时候,就知道要做什么事情了。

注意:关键字很多,不用刻意去记。

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

2.2 第一个关键字class

表示定义一个类。创建一个类。
类:Java项目最基本的组成单元一个完整的Java项目有可能会有成千上万个类来组成的。
class后面跟随的就是这个类的名字,简称:类名。
在类名后面会有一对大括号,表示这个类的内容。

类是java的最小单位,最小的包装单体积;

举例:

public class HelloWorld{}

解释:class表示定义类。
类名:HelloWorld
HelloWorld后面的大括号表示这个类的范围。
注意:文件名何类名要保持一直:

3. 字面量

作用:告诉程序员,数据在程序中的书写格式

字面量类型说明程序中的写法
整数不带小数的数字666,-88
小数带小数的数字13.14,-5.21
字符必须使用单引号,有且仅能一个字符‘A’,‘0’, ‘我’
字符串必须使用双引号,内容可有可无“HelloWorld”,“黑马程序员”
布尔值布尔值,表示真假,只有两个值:true,falsetrue 、false
空值一个特殊的值,空值值是:null
public class Demo {public static void main(String[] args) {System.out.println(10); // 输出一个整数System.out.println(5.5); // 输出一个小数System.out.println('a'); // 输出一个字符System.out.println(true); // 输出boolean值trueSystem.out.println("欢迎来到黑马程序员"); // 输出字符串}
}


注意:上图中‘abc’啥也不是。

注意: 如果想要打印null,加上双引号,以字符串的形式打印.

区分技巧:

  1. 不带小数点的数字都是整数类型的字面量。
  2. 只要带了小数点,那么就是小数类型的字面量。
  3. 只要用双引号引起来的,不管里面的内容是什么,不管里面有没有内容,都是字符串类型的字面量。
  4. 字符类型的字面量必须用单引号引起来,不管内容是什么,但是个数有且只能有一个。
  5. 字符类型的字面量只有两个值,true、false。
  6. 空类型的字面量只有一个值,null。

扩展: 制表符:

**/t 制表符: **
打印的时候,让数据对齐,更好看;
制表符,让打印表格数据等,更好看;

image.png
image.png

4. 变量

4.1 什么是变量?

变量就在程序中临时存储数据的容器。但是这个容器中只能存一个值。<br />**注意: 定义变量名不能重复;可以更改,你前面定义了,后面可以修改:**


4.2 变量的定义格式

数据类型 变量名 = 数据值;

4.2.1 格式详解

数据类型:限定了变量当中能存储什么类型的数据。
如果要存10,那么数据类型就需要写整数类型。
如果要存10.0,那么数据类型就需要写小数类型。
变量名:其实就是这个容器的名字。
当以后想要使用变量里面的数据时,直接使用变量名就可以了。
数据值:真正存储在容器中的数据。
分号:表示语句的结束,就跟以前写作文时候的句号是一样的。

4.2.2 常用的数据类型

整数:int
小数:(浮点数)double
其他数据类型稍后讲解
举例:

public class VariableDemo{public static void main(String[] args){//定义一个整数类型的变量//数据类型 变量名 = 数据值;int a = 16;System.out.println(a);//16//定义一个小数类型的变量double b = 10.1;System.out.println(b);//10.1}
}

4.2.3 变量的注意事项
  • 变量名不能重复
  • 在一条语句中,可以定义多个变量。但是这种方式影响代码的阅读,所以了解一下即可。
  • 变量在使用之前必须要赋值。

案例:

public class VariableDemo2{public static void main(String[] args){//1.变量名不允许重复//int a = 10;//int a = 20;//System.out.println(a);//2.一条语句可以定义多个变量//了解。//int a = 10, b = 20, c = 20,d = 20;//System.out.println(a);//?//System.out.println(b);//?//3.变量在使用之前必须要赋值int a = 30;System.out.println(a);}
}

4.3 变量的练习

需求:说出公交车到终点站之后,车上一共有多少乘客?
一开始没有乘客。
第一站:上去一位乘客,没有下来乘客。
第二站:上去两位乘客,下来一位乘客。
第三站:上去两位乘客,下来一位乘客。
第四站:没有上去乘客,下来一位乘客。
第五站:上去一位乘客,没有下来乘客。
问:到了终点站之后,车上一共多少乘客?
代码解析:

public class VariableTest1{//主入口public static void main(String[] args){//一开始没有乘客。int count = 0;//第一站:上去一位乘客//在原有的基础上 + 1count = count + 1;//System.out.println(count);//第二站:上去两位乘客,下来一位乘客count = count + 2 - 1; //第三站:上去两位乘客,下来一位乘客count = count + 2 - 1;//第四站:下来一位乘客count = count - 1;//第五站:上去一位乘客count = count + 1;//请问:到了终点站,车上一共几位乘客。System.out.println(count);//3}
}

image.png

5. 数据类型

5.1 Java语言数据类型的分类

  • 基本数据类型
  • 引用数据类型(面向对象的时候再深入学习)

5.2 基本数据类型的四类八种

数据类型关键字内存占用取值范围
整数byte1负的2的7次方 ~ 2的7次方-1(-128~127)
short2负的2的15次方 ~ 2的15次方-1(-32768~32767)
int4负的2的31次方 ~ 2的31次方-1
long8负的2的63次方 ~ 2的63次方-1
浮点数float41.401298e-45 ~ 3.402823e+38
double84.9000000e-324 ~ 1.797693e+308
字符char20-65535
布尔boolean1true,false

说明:

e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。
在java中整数默认是int类型,浮点数默认是double类型。

需要记忆以下几点

byte类型的取值范围:-128 ~ 127
int类型的大概取值范围:-21亿多 ~ 21亿多
整数类型和小数类型的取值范围大小关系:double > float > long > int > short > byte
最为常用的数据类型选择:

  • 在定义变量的时候,要根据实际的情况来选择不同类型的变量。
    比如:人的年龄,可以选择byte类型。
    比如:地球的年龄,可以选择long类型。
  • 如果整数类型中,不太确定范围,那么默认使用int类型。
  • 如果小数类型中,不太确定范围,那么默认使用double类型。
  • 如果要定义字符类型的变量,那么使用char
  • 如果要定义布尔类型的变量,那么使用boolean

5.3 定义8种基本数据类型变量

public class VariableDemo3{public static void main(String[] args){//1.定义byte类型的变量//数据类型 变量名 = 数据值;byte a = 10;System.out.println(a);//2.定义short类型的变量short b = 20;System.out.println(b);//3.定义int类型的变量int c = 30;System.out.println(c);//4.定义long类型的变量long d = 123456789123456789L;System.out.println(d);//5.定义float类型的变量float e = 10.1F;System.out.println(e);//6.定义double类型的变量double f = 20.3;System.out.println(f);//7.定义char类型的变量char g = 'a';System.out.println(g);//8.定义boolean类型的变量boolean h = true;System.out.println(h);}
}

注意点:
  • 如果要定义 一个整数类型的变量,不知道选择哪种数据类型了,默认使用int
  • 如果要定义 一个小数类型的变量,不知道选择哪种数据类型了,默认使用double。
  • 如果要定义一个long类型的变量,那么在数据值的后面需要加上L后缀。(大小写都可以,建议大写。)
  • 如果要定义一个float类型的变量,那么在数据值的后面需要加上F后缀。(大小写都可以)

5.4 练习1

需求:定义5个变量记录老师的信息并打印
代码示例:

public class VariableTest1{public static void main(String[] args){//1.定义字符串类型的变量记录老师的姓名String name = "黑马谢广坤";//2.定义整数类型的变量记录老师的年龄int age = 18;//3.定义字符类型的变量记录老师的性别char gender = '男';//4.定义小数类型的变量记录老师的身高double height = 180.1;//5.定义布尔类型的变量记录老师的婚姻状况boolean flag = true;//输出5个变量的值System.out.println(name);System.out.println(age);System.out.println(gender);System.out.println(height);System.out.println(flag);}
}

5.5 练习2

需求:将(电影名称,主演,年份,评分)四个信息选择不同类型的变量,随后打印出来。
代码示例:

public class VariableTest2{public static void main(String[] args){//1.定义字符串变量记录电影的名称String movie = "送初恋回家";//2.定义三个变量记录主演的名字String name1 = "刘鑫";String name2 = "张雨提";String name3 = "高媛";//3. 定义整数类型的变量记录年龄的年份int year = 2020;//4.定义小数类型的变量记录电影的评分double score = 9.0;//打印变量的信息System.out.println(movie);System.out.println(name1);System.out.println(name2);System.out.println(name3);System.out.println(year);System.out.println(score);}
}

5.6 练习3

需求:选择其中一部手机,将(手机价格,手机品牌)两个信息选择不同类型的变量,随后打印出来。
代码示例:

public class VariableTest3{public static void main(String[] args){//1.定义小数类型的变量记录手机的价格double price = 5299.0;//2.定义字符串类型的变量记录手机的品牌String brand = "华为";//输出变量记录的值System.out.println(price);System.out.println(brand);}
}

6. 标识符

业内大多数程序员都在遵守阿里巴巴的命名规则。
在day02的资料文件夹中有。
image.png

6.1 硬性要求:

必须要这么做,否则代码会报错。

  • 必须由数字、字母、下划线_、美元符号$组成。
  • 数字不能开头
  • 不能是关键字
  • 区分大小写的。

6.2 软件建议:

如果不这么做,代码不会报错,但是会让代码显得比较low。

6.2.1 小驼峰命名法

适用于变量名和方法名

  • 如果是一个单词,那么全部小写,比如:name
  • 如果是多个单词,那么从第二个单词开始,首字母大写,比如:firstName、maxAge

6.2.2 大驼峰命名法

适用于类名

  • 如果是一个单词,那么首字母大写。比如:Demo、Test。
  • 如果是多个单词,那么每一个单词首字母都需要大写。比如:HelloWorld

不管起什么名字,都要做到见名知意。

阿里巴巴命名规范细节:

  1. 尽量不要用拼音。但是一些国际通用的拼音可视为英文单词。
    正确:alibaba、hangzhou、nanjing
    错误:jiage、dazhe
  2. 平时在给变量名、方法名、类名起名字的时候,不要使用下划线或美元符号。
    错误:_name
    正确:name

7. 键盘录入

键盘录入的实际功能Java已经帮我们写好了,不需要我们自己再实现了,而Java写好的功能都放在了Scanner这个类中,所以,我们只要直接使用Scanner这个类就可以了。
使用步骤:

第一步:
导包:其实就是表示先找到Scanner这个类在哪。
第二步:
创建对象:其实就表示申明一下,我准备开始用Scanner这个类了。
第三步:
接收数据:也是真正干活的代码。
代码示例:

//导包,其实就是先找到Scanner这个类在哪
import java.util.Scanner;
public class ScannerDemo1{public static void main(String[] args){//2.创建对象,其实就是申明一下,我准备开始用Scanner这个类了。Scanner sc = new Scanner(System.in);//3.接收数据//当程序运行之后,我们在键盘输入的数据就会被变量i给接收了System.out.println("请输入一个数字");int i = sc.nextInt();System.out.println(i);}
}

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

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

相关文章

斗地主登录界面(JAVA图形化界面)设置

1.实现代码 import CodeUtil.CodeUtil; import domain.User;import javax.swing.*; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.ArrayList;public class LoginGame extends JFrame implements MouseListen…

MongoDB复制集实战及原理分析

文章目录 MongoDB复制集复制集架构三节点复制集模式PSS模式&#xff08;官方推荐模式&#xff09;PSA模式 典型三节点复制集环境搭建复制集注意事项环境准备配置复制集复制集状态查询使用mtools创建复制集安全认证复制集连接方式 复制集成员角色属性一&#xff1a;Priority 0属…

【数据分享】1929-2023年全球站点的逐月降雪深度数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 之前我们分享过1929-2023年全球气象站点的逐月平均气温数据、逐月最高气温数据…

【鸿蒙】大模型对话应用(四):页面发起请求实现对话能力

Demo介绍 本demo对接阿里云和百度的大模型API&#xff0c;实现一个简单的对话应用。 DecEco Studio版本&#xff1a;DevEco Studio 3.1.1 Release HarmonyOS SDK版本&#xff1a;API9 关键点&#xff1a;ArkTS、ArkUI、UIAbility、网络http请求、列表布局、层叠布局 定义接…

C#(C Sharp)学习笔记_前言及Visual Studio Code配置C#运行环境【一】

前言 这可以说是我第一次正式的踏入C#的学习道路&#xff0c;我真没想过我两年前是怎么跳过C#去学Unity3D游戏开发的&#xff08;当然了&#xff0c;游戏开发肯定是没有成功的&#xff0c;都是照搬代码&#xff09;。而现在&#xff0c;我真正地学习一下C#&#xff0c;就和去年…

笔记本从零安装ubuntu系统(2):环境配置

文章目录 前言相关链接ubuntu Server 安装教程屏幕自动息屏关上盖子不休眠MobaXterm外网SSH内网穿透IPV6远程 为什么我要笔记本装Linux为什么要换ubuntu Server版能否连接wifi之后Linux 配置清单总结 前言 之前装了个ubuntu desktop 版&#xff0c;发现没有命令行&#xff0c;…

HiveSQL题——collect_set()/collect_list()聚合函数

一、collect_set() /collect_list()介绍 collect_set()函数与collect_list()函数属于高级聚合函数&#xff08;行转列&#xff09;&#xff0c;将分组中的某列转换成一个数组返回&#xff0c;常与concat_ws()函数连用实现字段拼接效果。 collect_list&#xff1a;收集并形成lis…

QEMU源码全解析 —— 内存虚拟化(2)

接前一篇文章&#xff1a; 本文内容参考&#xff1a; 《趣谈Linux操作系统》 —— 刘超&#xff0c;极客时间 《QEMU/KVM》源码解析与应用 —— 李强&#xff0c;机械工业出版社 QEMU内存管理模型 特此致谢&#xff01; QEMU内存初始化 1. 基本结构 在开始介绍内存初始化…

springboot153相亲网站

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

预充电阻原理作用,直流预充电电路设计指南

最初将电池连接到具有容性输入的负载时&#xff0c;当负载电容充电至电池电压时&#xff0c;会出现电流涌入。 对于大型电池&#xff08;具有低源电阻&#xff09;和强大的负载&#xff08;输入端具有大电容器&#xff09;&#xff0c;浪涌电流可以很容易地达到 1000 A 的峰值。…

Ps:自动对齐图层

Ps菜单&#xff1a;编辑/自动对齐图层 Edit/Auto-Align Layers 自动对齐图层 Auto-Align Layers命令通过分析选中图层上的图像&#xff0c;识别出图像间的共同特征点&#xff08;如边缘、纹理或特定标记等&#xff09;&#xff0c;然后基于这些特征点变换&#xff08;移动、旋转…

阻塞队列(超详细易懂)

目录 一、阻塞队列 1.阻塞队列概述 2.生产者消费者模型 3.阻塞队列的作用 4.标准库中的阻塞队列类 5.例子&#xff1a;简单生产者消费者模型 二、阻塞队列模拟实现 1.实现循环队列&#xff08;可跳过&#xff09; 1.1简述环形队列 1.2代码实现 2.实现阻塞队列 2.1实…

探索前端开发框架:React、Angular 和 Vue 的对决(一)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

webpack配置

一、很多基础方面的配置被vuecli所集成一般项目都是使用vuecli,不会真正的去从0-1进行webpack配置: 1、vuecli中的webpack基础配置: (1)入口文件默认在src/main;输出在dist; (2)集成了大量的插件和加载器:babel-loader 处理 JavaScript 文件、使用 css-loader 和 style-load…

基于控制台的购书系统(Java 语言实现)

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》|《数据结构与算法》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有限&#xff0c;欢…

C++棋类小游戏2

今天给大家带来我花了1周时间自创的小游戏的升级版&#xff0c;博主还是一名小学生&#xff0c;希望大家提提意见。这是我写的最长的C代码&#xff0c;希望大家喜欢&#xff0c;不要抄袭&#xff0c;任何编译器都可以。 以前版本——C自创棋类小游戏-CSDN博客 C内容提示&…

苹果CMS挖片网升级版视频主题模版源码

自适应视频站正版高级挖片网收录模板&#xff0c;模板不错&#xff0c;是挖片网的升级版。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88799583 更多资源下载&#xff1a;关注我。

解决maven 在IDEA 下载依赖包速度慢的问题

1.idea界面双击shift键 2.打开setting.xml文件 复制粘贴 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…

深度学习实战 | 卷积神经网络LeNet手写数字识别(带手写板GUI界面)

引言 在深度学习领域&#xff0c;卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;是一种广泛应用于图像识别任务的神经网络结构。LeNet是一种经典的CNN结构&#xff0c;被广泛应用于基础的图像分类任务。本文将介绍如何使用LeNet卷积神经网络实现手写…

(已解决)spingboot 后端发送QQ邮箱验证码

打开QQ邮箱pop3请求服务&#xff1a;&#xff08;按照QQ邮箱引导操作&#xff09; 导入依赖&#xff08;不是maven项目就自己添加jar包&#xff09;&#xff1a; <!-- 邮件发送--><dependency><groupId>org.springframework.boot</groupId><…