Java基础学习笔记-1

前言

Java 是一门强大而广泛应用的编程语言,它的灵活性和跨平台特性使其成为许多开发者的首选。无论您是刚刚入门编程,还是已经有一些编程经验,掌握 Java 的基础知识都是构建更复杂程序的关键。

本学习笔记旨在帮助您深入了解 Java 编程语言的基础概念。我们将从变量和数据类型开始,逐步探索命名规则、运算符、用户输入和数据类型转换等主题。通过这些内容的学习,您将建立坚实的 Java 基础,为进一步的学习和应用打下坚实的基础。

1. 变量和数据类型

Demo01 - 变量的声明和使用

public class Demo01 {public static void main(String[] args) {// 变量int age = 18;System.out.println("年龄:" + age); // shift+alt+上下箭头,上移下移代码行age = 20;System.out.println("年龄:" + age); // ctrl+d复制行}
}

这个示例演示了如何声明和使用变量,并且展示了变量值的修改。

Demo02 - 常用数据类型

public class Demo02 {public static void main(String[] args) {// 常用数据类型int i = 10000; // 整数double d = 3.14; // 小数char c = '中'; // 字符String s = "中国"; // 字符串System.out.println("整数:" + i + ",小数:" + d + ",字符:" + c + ",字符串:" + s);}
}

在这个示例中,我们介绍了Java中常用的数据类型,包括整数、小数、字符和字符串。

Demo03 - 变量的声明、赋值和使用

public class Demo03 {public static void main(String[] args) {// 1. 声明int age;// 2. 赋值(java是在c++语言基础上改进过来的,要求变量在使用前必须先行赋值)age = 1;// 3. 使用System.out.println(age);}
}

这段代码展示了变量的声明、赋值和使用的基本步骤。

Demo04 - 常量的命名规则

public class Demo04 {public static void main(String[] args) {// 常量的命名法则,全部大写,如果有多个单词,用_隔开 比如MAX_VALUEfinal int AGE = 18;System.out.println(AGE);final String CHINA = "中华人民共和国";System.out.println(CHINA);}
}

这个示例说明了常量的命名规则,通常使用全大写字母,多个单词之间用下划线分隔。

2. 命名规则和约定

Demo05 - 标识符命名规则

public class Demo05 {public static void main(String[] args) {/*首字母必须是:字符 $ _后续必须是:字符 $ _ 数字注意,不能是关键字*/int a = 1;}
}

这段代码讲解了Java中标识符的命名规则,包括首字母要是字符、 或 , 后续可以是字符、 或_,后续可以是字符、 后续可以是字符、、_或数字。

Demo06 - 命名规范

// 类名 大驼峰法命名
public class Demo06 {public static void main(String[] args) {// 变量名 小驼峰法命名int myAge = 18;int age = 18;// 循环因子 i j k// 尽量使用有意义的单词(循环因子除外),实在单词没有合这的就採用拼音}
}

这个示例介绍了类名、变量名和循环因子的命名规范,推荐使用有意义的单词命名。

3. 运算符和表达式

Demo07 - 赋值运算符

public class Demo07 {public static void main(String[] args) {// 赋值运算符int age = 18; // =age += 2; // += 等价于 age = age + 2;age++; // += 等价于 age = age + 1; 间化為 age++/*+= ++-= --*=/=%=  取模 特别留意,除不乾净,余下来的那个数*/int year = 2022;int result = year % 10; // 余数System.out.println("餘数:" + result);year %= 100; // year = year % 100;System.out.println("餘数:" + year);}
}

这段代码展示了赋值运算符(+=、++、%=)的使用,以及取模运算符的示例。

4. 用户输入

Demo08 - 使用Scanner获取用户输入

import java.util.Scanner;public class Demo08 {public static void main(String[] args) {// 键盘输入功能 ScannerScanner scanner = new Scanner(System.in);System.out.println("请输入你的姓名:"); // 先提示,别人才好输入String name = scanner.next(); // 卡住,等待你输入姓名System.out.println("你输入的姓名是:" + name);}
}

这个示例演示了如何使用Scanner类从键盘获取用户输入。

Demo09 - 读取整数和小数

import java.util.Scanner;public class Demo09 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入整数:");int age = scanner.nextInt();System.out.println("请输入小数:");double money = scanner.nextDouble();System.out.println("整数:" + age + ",小数:" + money);}
}

这段代码演示了如何使用Scanner读取整数和小数,并将它们打印出来。

Demo10 - 计算和平均值

import java.util.Scanner;public class Demo10 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("输入王浩的3门功课的成绩:");System.out.println("Java:");int java = scanner.nextInt();System.out.println("PS:");int ps = scanner.nextInt();System.out.println("SQL:");int sql = scanner.nextInt();int chazhi = java - sql;System.out.println("方法1,Java和SQL的差:" + chazhi);System.out.println("方法2,Java和SQL的差:" + (java - sql)); // 一定要加小括号,调整一下优先级int pingjunzhi = (java + ps + sql) / 3;System.out.println("方法1,平均值:" + pingjunzhi);System.out.println("方法2,平均值:" + (java + ps + sql) / 3);}
}

这个示例读取三门课程的成绩,计算它们的差值和平均值,并展示了不同的计算方法。

5. 数值计算

Demo11 - 数值计算

public class Demo11 {public static void main(String[] args) {double java1 = 81.29;int duoliao = 2;double java2 = java1 + duoliao;System.out.println("第二次的平均分:" + java2);}
}

这个示例演示了数值计算,包括将一个双精度浮点数和一个整数相加,并将结果打印出来。

6. 数据类型和类型转换和关系运算符

Demo12 - 数据类型详解

public class Demo12 {public static void main(String[] args) {// 八个基本数据类型/* 整数1个字节 byte     -128 -> +1272个字节 short    -32768 -> +32767*4个字节 int      -21亿 -> +21亿 大约8个字节 long     -21....亿 -> +21....亿*/byte b1 = Byte.MAX_VALUE;System.out.println(b1);short s1 = Short.MAX_VALUE;System.out.println(s1);int i1 = Integer.MAX_VALUE;System.out.println(i1);long l1 = Long.MAX_VALUE;System.out.println(l1);/* 小数,本质是一个近似值4个字节 float -3.4028235E38 -> 3.4028235E38 大约3后面有38个零*8个字节 double -1.7976931348623157E308 -> 1.7976931348623157E308 大约1后面有308个零*/float f = Float.MAX_VALUE;System.out.println(f);double d = Double.MAX_VALUE;System.out.println(d);/* 字符2个字节 char 0-65535 唯一没有负数概念的*/char c1 = Character.MIN_VALUE;char c2 = Character.MAX_VALUE;System.out.println((int)c1);System.out.println((int)c2);/* 布尔1个字节 boolean 不是数值概念,而是一个真假 0000 000-*/boolean bool1 = Boolean.FALSE;boolean bool2 = Boolean.TRUE;System.out.println(bool1);System.out.println(bool2);}
}

这个示例详细解释了Java中的不同数据类型,包括整数、小数、字符和布尔类型。以下是其中一些重要概念的总结:

  • 整数类型包括byteshortintlong,它们的取值范围不同。
  • 小数类型包括floatdouble,它们是近似值,有不同的精度和取值范围。
  • 字符类型char表示字符,占用2个字节,并且没有负数概念。
  • 布尔类型boolean表示真假值,占用1个字节。

这个示例有助于理解不同数据类型在Java中的特点和用途。

Demo13 - 强制类型转换

public class Demo13 {public static void main(String[] args) {char c1 = '中';int i = 1;// 强转语法:(目标类型)表达式char c2 = (char)(c1 + i);}
}

这段代码演示了强制类型转换的概念。在这里,我们将一个字符c1与一个整数i相加,然后将结果强制转换为字符类型char。这是因为字符之间的运算会被自动提升为整数,所以需要强制转换回字符类型。

Demo14 - 关系运算符

public class Demo14 {public static void main(String[] args) {/*关系运算符:> >= < <= == !=经歷了运算之后,结果的数据类型是 布尔*/int a = 10;int b = 10;boolean r1 = a > b;boolean r2 = a >= b;boolean r3 = a < b;boolean r4 = a <= b;boolean r5 = a == b;boolean r6 = a != b;System.out.println(r1); // falseSystem.out.println(r2); // trueSystem.out.println(r3); // falseSystem.out.println(r4); // trueSystem.out.println(r5); // trueSystem.out.println(r6); // false}
}

这个示例介绍了关系运算符(>、>=、<、<=、==、!=)的使用。这些运算符用于比较两个值之间的关系,并返回布尔值表示结果。在示例中,我们演示了不同的关系运算并打印了它们的结果。

总结

在学习笔记的各个部分中,我们详细介绍了 Java 基础知识的各个方面。从变量的声明和使用到数据类型的深入了解,再到命名规则、运算符和用户输入的应用,您已经对 Java 编程语言的核心概念有了清晰的认识。

通过这些基础知识,您将能够开始编写简单的 Java 程序,并逐渐扩展您的技能,构建更复杂的应用程序。不管您是新手还是有一些经验的开发者,这些基础知识都是您在 Java 编程之路上不可或缺的一部分。

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

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

相关文章

代码随想录算法训练营Day56 || ● 583. 两个字符串的删除操作 ● 72. 编辑距离

今天接触到了真正的距离&#xff0c;但可以通过增删改操作来逼近。 问题1&#xff1a;583. 两个字符串的删除操作 - 力扣&#xff08;LeetCode&#xff09; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字…

Mysql学习之——增删改查语句

Mysql的增删改查 一、数据库操作 1.查询所有数据库 show databases&#xff1b;2.使用某个数据库 如果我已经通过show databases知道有a、b、c三个数据库&#xff0c;那我想用数据库a怎么办呢? use 数据库名&#xff1b; eg:use a;3.查询当前使用的数据库 如果我不知道当…

请大家一定不要像我们公司这样打印log日志

前言 最近接手了公司另一个项目&#xff0c;熟悉业务和代码苦不堪言。 我接手一个新项目&#xff0c;有个习惯&#xff0c;就是看结构&#xff0c;看数据库&#xff0c;搜代码。 其中搜代码是我个人这些年不知不觉形成的癖好&#xff0c;我下面给大家展示下这个小癖好。 正文 我…

vue3:3、项目目录和关键文件

关于vsvode的更改 <!-- 加上setup允许在script中直接编写组合式api --> <script setup> // 组件引入后直接用 import HelloWorld from ./components/HelloWorld.vue import TheWelcome from ./components/TheWelcome.vue</script><!-- 1、js放在最上面&am…

linux安装postgresql13

linux安装postgresql13 1. 安装2. 数据库初始化3.配置远程访问3.1 修改配置文件3.2 重启服务3.3 测试连接 1. 安装 linux下载链接&#xff1a;https://www.postgresql.org/download/linux/ubuntu/安装命令sudo sh -c echo "deb https://apt.postgresql.org/pub/repos/apt…

Linux 中的 chmod 命令及示例

在 Unix 操作系统中,chmod命令用于更改文件的访问模式。该名称是change mode的缩写。其中规定每个文件和目录都有一组权限来控制权限,例如谁可以读取、写入或执行该文件。其中权限分为三类:同时读、写和执行,用“r”、“w”和“x”表示。这些字母组合在一起形成一组用户的特…

20230908_python练习_服务端与客户端数据交互

用户可以通过简单操作进行服务端数据交互&#xff0c;通过简单的sql语句直接获取EXCEL表&#xff0c;可以用来作为交互的基础。主要涉及三部分&#xff1a; 1:数据库存储表结构 --日志记录表结构 create table shzc.yytowz_service_title (leixing varchar2(18),ziduan1 v…

软件测试/测试开发丨学会与 AI 对话,高效提升学习效率

点此获取更多相关资料 简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中&#xff0c;沟通本来就是很重要的一门课程&#xff0c;沟通的过程中表达越清晰&#xff0c;给到的信息越多&#xff0c;那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理&…

单目标应用:基于成长优化算法(Growth Optimizer,GO)的微电网优化调度MATLAB

一、微网系统运行优化模型 微电网是由分布式电源、储能装置和能量转换装置等组成的小型发配电系统&#xff0c;具有成本低、电压低、污染小等特点。由于环保和能源压力&#xff0c;清洁可再生能源和分布式能源工业发展潜力巨大。微电网控制器可实现对电网的集中控制&#xff0…

搭建RabbitMQ消息服务,整合SpringBoot实现收发消息

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;3年JAVA全栈开发经验&#xff0c;专注JAVA技术、系统定制、远程指导&#xff0c;致力于企业数字化转型&#xff0c;CSDN博客专家&#xff0c;蓝桥云课认证讲师。 目录 一、前言1.1 什么是消息队列1.2 RabbitMQ 是什么1.…

Linux:【Mysql】Centos7安装mysql8.0

目录 一、环境及版本介绍 二、安装前准备 三、开始安装 一、环境及版本介绍 Linux环境&#xff1a;Centos7 Mysql版本&#xff1a;8.0.26 安装时使用的用户&#xff1a;root 二、安装前准备 1.1、下载Centos7镜像 网上寻找相关资源即可 1.2、下载VMwareWorkstation Pro并…

【LeetCode-中等题】208. 实现 Trie (前缀树)

文章目录 题目方法一&#xff1a;利用数组构建26叉树方法二&#xff1a;利用哈希表构建26叉树 题目 方法一&#xff1a;利用数组构建26叉树 插入图示&#xff1a; 全搜索和前缀搜索&#xff1a; 注意&#xff1a;全局匹配匹配完直接返回插入时的标志位 而前缀匹配时&#xff…

OpenWrt系统开发笔记

openWrt英文官网&#xff1a; https://openwrt.org/ 中文官网&#xff1a; http://www.openwrt.org.cn/ 一、开发环境及编译 在github上有两个源码使用的比较多   一个是lede,地址为&#xff1a;https://github.com/coolsnowwolf/lede   另一个为OpenWrt的官方源码&#…

Redis 管道

1. 面试题 1.1 如何优化频繁命令往返造成的性能瓶颈? 1.2 问题由来 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤&#xff1a; 1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果)&#xff0c;并监听Socket返…

清空一下问题机器的ClickOnce cache

清空ClickOnce缓存通常需要通过操作系统的命令行工具来完成。以下是在Windows操作系统上清空ClickOnce缓存的步骤&#xff1a; 1. **关闭所有ClickOnce应用程序**&#xff1a;在清空缓存之前&#xff0c;确保没有任何ClickOnce应用程序正在运行。 2. 打开**命令提示符**&…

2023国赛A题全保姆教程代码思路 定日镜场的优化设计

A 题 定日镜场的优化设计 更多完整解题可查看B站:不知名数学家小P 构建以新能源为主体的新型电力系统&#xff0c; 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式…

Redis 复制(replica)

1. 是什么 1.1 官网地址 https://redis.io/docs/management/replication/ 1.2 一句话 1. 就是主从复制&#xff0c;master以写为主&#xff0c;slave以读为主 2. 当master数据变化的时候&#xff0c;自动将新的数据异步同步到其它slave数据库 2. 能干嘛 1. 读写分离 2. 容灾…

智能化电力运维:数字孪生的崭露头角

随着科技的不断发展&#xff0c;数字孪生技术在各个领域的应用愈发广泛&#xff0c;尤其在电力运维领域&#xff0c;它正发挥着革命性的作用。数字孪生是一种虚拟仿真技术&#xff0c;通过实时模拟真实世界的物理对象或过程&#xff0c;可以从多方面为电力运维带来改变&#xf…

HTTP 和 HTTPS

一.HTTP HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于在网络上传输超文本&#xff08;Hypertext&#xff09;和其他资源的应用层协议。HTTP是Web中最常用的协议之一&#xff0c;它使得浏览器可以请求和显示网页&#xff0c;也允许服务器传送网页内容和其…

评估驾驶员头部姿态变化幅度的统计方法

人脸识别 文章目录 人脸识别前言一、常用的统计方法二、具体实现总结 前言 评估驾驶员头部姿态变化幅度的统计方法可以帮助分析驾驶员的注意力和警觉性。 一、常用的统计方法 评估驾驶员头部姿态变化幅度的统计方法可以帮助分析驾驶员的注意力和警觉性。以下是一些常用的统计…