当前位置: 首页 > news >正文

学习Java十一天总结

目录

一、走进Java编程世界

二、变量、常量和运算符

三、if选择结构

四、switch选择结构

五、while循环结构

六、for循环结构

七、数组

八、深度循环结构

九、类和对象

十、类的无参方法

十一、类的带参方法

十二、字符串


一、走进Java编程世界

  1. 程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。
  2. Java语言是一种具有跨平台特性的高级程序开发语言,Java包括编程语言和相关技术。
  3. Java开发需要正确地安装JDK并配置JDK环境,编写的Java源程序要经过编译器编译为.class的字节码文件,才能在Java虚拟机上运行,这些工作都离不开JDK环境。
  4. 可以使用“记事本”开发简单的Java程序并在命令行窗口执行,但效率低下。IntelliJ IDEA是当前较主流功能强大且深受开发人员喜爱的集成开发环境,正确使用IntelliJ IDEA可以方便、高效地开发、管理、调试项目。
  5. 从程序开发到程序正确运行,需要经历3个步骤:编写、编译、运行。
  6. Java源程序包括3个部分,即程序框架、main()方法和执行内容。main()方法是程序的入口。
  7. 在学校和工作中,JDK文档是Java程序开发人员的必备工具,遇到问题要能在帮助文档中寻找答案。

念高危,则思谦冲而自牧;惧满盈,则思江海下百川。

二、变量、常量和运算符

  1. 变量是一个数据存储空间的表示,它是存储数据的基本单元。
  2. Java语言是强类型语言,基本数据类型的数据又分为数值型、字符型和布尔型;数组型又有整型和浮点型之分。
  3.  常量的数据类型有整型(int)、单精度浮点型(float)、双精度浮点型(double)、字符型(char)和字符串型(String)。
  4. 先声明变量并初始化,最后使用变量。
  5. 常量用于存储一些固定不变的值,使用final关键字定义,一旦赋值不允许修改。
  6. Java中的常用运算符:
    赋值运算符:=
    算术运算符:+、-、*、/、%、++、- -
    关系运算符:>、>=、<、<=、==、!=
  7. 使用关系运算符比较大小的结果是boolean类型数据,只有两个值:真(true)或假(false)。
  8. 在Java语言中,整型、浮点型、字符型数据等都可以进行混合运算,当类型不一致时,就要进行类型转换。
  9. 当目标类型取值范围大于源类型时,可完成自动类型转换,要求目标数据类型和源数据类型能够兼容。
  10. 当目标数据类型取值范围小于源数据类型时,就要进行强制类型转换。注意此时有可能会丢失数据的精度。
  11. Java提供java.util.Scanner类,可以实现从控制台获取键盘上输入的信息。

我们要真正学到一点东西,就要虚心。譬如一个碗,如果已经装得满满的,哪怕再有好吃的东西,像海参、鱼翅之类,也装不进去;如果碗是空的,就能装很多东西。

三、if选择结构

  1. if选择结构包含多种结构:
    简单if选择结构:可以处理单一或组合条件的情况。
    if-else选择结构:可以处理具有两个分支的选择结构。
    多重if选择结构:可以处理具有两个以上分支的选择结构。
    嵌套if选择结构:可以处理某个分支中嵌套其他选择结构的复杂情况,
  2. 运算符
    逻辑运算符:&&、||、!
    条件运算符:?:

钻研然而知不足,虚心是从知不足而来的。虚伪的谦虚,仅能博得庸俗的掌声,而不能求得真正的进步。

四、switch选择结构

  1. switch选择结构的特征如下:
    一种更为简洁的处理多分支情况的选择结构。当条件判断是等值的情况下,比使用多重if选择结构更具优势。
    case:可以有多个,没有固定顺序,但每个case后常量的值必须各不相同。当switch后表达式的值与某个case块的常量相等时,即执行该case块中的语句。
    default:当switch后表达式的值与任何一个case后的常量都不相等时,执行default后面的代码,可以理解为多重if选择结构中最后的else块。
    break:表示“停止”,即跳出当前switch结构。每个case块中都可以有一条break语句。它表示当程序执行完此case块后,即跳出整个switch选择结构。
  2. 为了增强程序的健壮性,可以在程序中针对可能发生的问题主动做出判断,并给出用户友好的提示。
  3. 在实际开发中,经常会综合运用if和switch两种选择结构解决问题。

谦虚的学生珍视真理,不关心对自己个人的颂扬,不谦虚的学生首先想到的是炫耀个人得到的赞誉,对真理漠不关心。思想史上载明,谦虚几乎总是和学生的才能成正比例,不谦虚则成反比。

五、while循环结构

  1. 循环结构是在满足一定条件下,重复执行一组操作的流程控制结构。
  2. 循环结构的要素包括循环条件和循环操作。只要满足循环条件,循环操作就会反复执行。
  3. 使用循环解决问题的步骤:
    分析循环条件和循环操作。
    套用循环的语法写出代码。
    检查循环能否退出。
  4. 编写循环时注意:循环变量在使用前要初始化,在循环体中通过修改循环变量的值保证能够退出循环。
  5. while循环和do-while循环的区别:
    while循环结构的特点是先判断,后执行。
    do-while循环结构的特点是先执行,后判断。
  6. 程序调试是满足暂停程序、观察变量和逐条执行语句等功能的工具和方法的总称。其主要方法包括设置断点、单步运行和观察变量。

与其夸大胡说,不如宣布那个聪明的、智巧的、谦逊的警句:“我不知道”。

六、for循环结构

  1. 当循环次数固定时,可以使用for循环实现,其语法结构更简洁、更紧凑。语法如下:
    for (表达式 1; 表达式 2; 表达式3){
        //循环体
    }
    表达式1:for循环结构的初始部分,为循环变量赋初值。
    表达式2:for循环结构的循环条件。
    表达式3:for循环结构的循环变量更新部分,通常用来修改循环变量的值。
  2. break跳转语句常用于结束循环操作,除可用于for循环结构外,还可用于其他循环结构,如while循环和do-while循环。
  3. break跳转语句经常与if结构结合使用,实现在某种条件下退出当前循环结构。
  4. continue跳转语句用于跳出本次循环,进入下一次循环。

一个人的真正伟大之处就在于他能够认识到自己的渺小。

七、数组

  1. 数组是可以在内存中连续存储多个元素的结构,数组中的所有元素必须属于相同的数据类型。
  2. 数组中的元素通过数组的下标进行访问,数组的下标从0开始。
  3. 使用数组保存数据的步骤是:声明数组、分配空间、为数组元素赋值。
  4. 数组可用一个循环为元素赋值,或者用一个循环输出数组中的元素信息。
  5. 通过数组的length属性可获得数组长度。
  6. 使用Arrays类sort()方法可以方便地对数组中的元素进行排序。

知识是珍贵宝石的结晶,文化是宝石放出来的光泽。

八、深度循环结构

  1. 二重循环就是一个循环体内又包含另一个完整的循环结构的循环。
  2. 在二重循环中可以使用continue跳转语句和break跳转语句控制程序的执行。
    continue跳转语句:只跳出本轮内层循环的执行,还会继续进行下一轮内层循环。
    break跳转语句:跳出整个内层循环。

有教养的人的遗产,比那些无知的人的财富更有价值。

九、类和对象

  1. 对象是用来描述客观事物的一个实体,由一组属性和方法构成。
  2. 在面向对象编程中,将共同的特征(属性)和行为(方法)组织到一个单元中,就得到了类。
    类的属性:对象所拥有的特征在类中表示时称为类的属性。
    类的方法:对象执行的操作称为类的方法。
  3. 类和对象的关系是抽象和具体的关系。类是对象的模板,对象是类的实例。
  4. 对象的属性和方法被共同封装在类中,相辅相成,不可分割。
  5. 使用类的步骤如下:
    定义类:使用关键字:class
    创建类的对象:使用关键字:new
    使用类的属性和方法:使用符号 “ . ”
  6. 面向对象编程的优点如下:
    与人类的思维习惯一致。
    隐藏信息,提高了程序的可维护性和安全性。
    提高了程序的可重用性。

  荣誉和财富,若没有聪明才智,是很不牢靠的财产。

十、类的无参方法

  1. 类的方法必须包括以下3个部分:
    方法名
    返回值类型
    方法体
  2. 类的方法的调用形式有以下两种:
    同类中的方法,直接使用方法名调用该方法。
    不同类中的方法,首先创建对象,再使用“对象名.方法名()”的方式来调用。
  3. 在Java中,有成员变量和局部变量,它们的作用域各不相同。
  4. JavaDoc注释以“ /** ” 开头,以“ */ ” 结尾,结合使用JavaDoc注释的标签可以生成开发文档。

人不能像走兽那样活着,应该追求知识和美德。

十一、类的带参方法

  1. 带参方法定义的一般格式如下:
    <访问修饰符> 返回值类型 <方法名> ([参数列表]) {
            //方法体
            [return 返回值;]
    }
  2. 调用带参方法和调用无参方法的语法是相同的,但是在调用带参方法时必须传入实际的参数值。
  3. 形参是在定义方法时参数的名称,实参是在调用方法时传递给方法的实际值。
  4. 在Java语言中,通过包来管理类。
  5. 声明包使用package关键字,导入包使用import关键字。

知识就是力量。

十二、字符串

  1. String类和StringBuffer类都可以用于创建一个字符串对象。
  2. String类中常用的操作字符串的方法如下:
    length():获取字符串的长度。
    equals():比较字符串。
    equalsIgnoreCase():忽略大小写比较字符串。
    concat():连接字符串。
    indexOf():查询字符串。
    split():拆分字符串。
  3. StringBuffer类中常用的操作字符串的方法如下:
    tiString():转换成String类型。
    append():连接字符串。
    insert():插入字符串。

知识是一种快乐,而好奇则是知识的萌芽。

相关文章:

学习Java十一天总结

目录 一、走进Java编程世界 二、变量、常量和运算符 三、if选择结构 四、switch选择结构 五、while循环结构 六、for循环结构 七、数组 八、深度循环结构 九、类和对象 十、类的无参方法 十一、类的带参方法 十二、字符串 一、走进Java编程世界 程序是为了让计算机…...

【光伏监控系统的相关产品有哪些】Acrel-1000DP分布式光伏监控系统

光伏发电系统是指无需通过热过程直接将光能转变为电能的发电系统。通常由光伏方阵、蓄电池组&#xff08;蓄电池控制器&#xff09;、逆变器、交流配电柜和太阳跟踪控制系统等设备组成。其特点是可靠性高、使用寿命长、不污染环境、能独立发电又能并网运行。 分布式光伏监控系…...

[Linux]互斥锁(什么是锁,为什么需要锁,怎么使用锁(接口),演示代码)

目录 一、锁的概念 一些需要了解的概念 什么是锁&#xff1f;为什么需要锁&#xff1f;什么时候使用锁&#xff1f;怎么定义锁&#xff1f; 二、锁的接口 1.初始化锁 2.加锁 3.申请锁 4.解锁 5.销毁锁 三、实践&#xff08;写代码&#xff09;&#xff1a;黄牛抢票 M…...

Web基础06-AJAX,Axios,JSON数据

目录 一、AJAX 1.概述 2.主要作用 3.快速入门 4.AJAX的优缺点 &#xff08;1&#xff09;优点 &#xff08;2&#xff09;缺点 5.同源策略 二、Axios 1.概述 2.快速入门 3.请求方式别名 三、JSON 1.概述 2.主要作用 3.基础语法 4.JSON数据转换 &#xff08;1…...

Java 文件序列化和反序列化

list序列化 /*** 序列化* param list* param filename* throws IOException*/public static void serializeList(List<Map<String, Object>> list, String filename) throws IOException {try (ObjectOutputStream oos new ObjectOutputStream(new FileOutputStre…...

NETLINK_ROUTE 与 NETLINK_SOCK_DIAG 的区别与用法

在 Linux 中&#xff0c;Netlink 是一种用于内核与用户空间之间通信的机制&#xff0c;通过不同的 Netlink 协议族&#xff08;family&#xff09;可以实现不同类型的通信。其中&#xff0c;NETLINK_ROUTE 和 NETLINK_SOCK_DIAG 是两种常用的 Netlink 协议族&#xff0c;它们具…...

docker yocto vscode

scode的docker插件怎么使用 vscode是一个基于VS Code的开发环境&#xff0c;它提供了一个Docker插件&#xff0c;可以帮助你在VS Code中使用Docker进行开发。下面是使用scode的Docker插件的步骤&#xff1a; 安装scode插件&#xff1a;在VS Code的扩展商店中搜索并安装scode插…...

使用ansible剧本进行lvm分盘

使用 Ansible 剧本&#xff08;Playbook&#xff09;进行 LVM 分区管理是一种自动化的方式&#xff0c;可以帮助管理员在多台主机上批量管理逻辑卷。 部署环境 3台主机&#xff0c;添加硬盘 ansible-galaxy collection install community.general 联网执行&#xff0c;下…...

【排序】快速排序

原理 对于一个数组x&#xff0c;快速排序流程如下&#xff1a; 确定分界点a&#xff0c;可以取x[l]、x[r]、x[l r / 2]、随机&#xff08;四种都可以&#xff09;调整区间&#xff0c;使得&#xff1a;区间被分成 < a 和 > a的两部分&#xff0c;左边 < a&#xff…...

Python大数据实践:selenium爬取京东评论数据

准备工作 selenium安装 Selenium是广泛使用的模拟浏览器运行的库&#xff0c;用于Web应用程序测试。 Selenium测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样&#xff0c;并且支持大多数现代 Web 浏览器。 #终端pip安装 pip install selenium #清华镜像安装 p…...

信息系统项目管理师019:存储和数据库(2信息技术发展—2.1信息技术及其发展—2.1.3存储和数据库)

文章目录 2.1.3 存储和数据库1.存储技术2.数据结构模型3.常用数据库类型4.数据仓库 记忆要点总结 2.1.3 存储和数据库 1.存储技术 存储分类根据服务器类型分为&#xff1a;封闭系统的存储和开放系统的存储。封闭系统主要指大型机等服务器。开放系统指基于包括麒麟、欧拉、UNIX…...

Python基础(六)之数值类型元组

Python基础&#xff08;六&#xff09;之数值类型元组 1、简介 元组&#xff1a; 在Python中是内置的数据结构之一&#xff0c;是一个不可变的序列,切可以是任何类型数据。元组的元素放在&#xff08;&#xff09;小括号内。一般我们希望数据不改变的时候使用 不可变与可变的…...

Chrome历史版本下载地址:Google Chrome Older Versions Download (Windows, Linux Mac)

最近升级到最新版本Chrome后发现页面居然显示错乱,是在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 32-bit VersionSizeDate104.0.5112.10279.68 MB2022-05-30…...

ROS2纯跟踪实现(C++)

#include <tf2_ros/buffer.h> #include <tf2_ros/transform_broadcaster.h> #include <tf2_ros/transform_listener.h>#include <geometry_msgs/msg/transform_stamped.hpp> #include...

uniapp微信小程序随机生成canvas-id报错?

uniapp微信小程序随机生成canvas-id报错&#xff1f; 文章目录 uniapp微信小程序随机生成canvas-id报错&#xff1f;效果图遇到问题解决 场景&#xff1a; 子组件&#xff0c;在 mounted 绘制 canvas&#xff1b;App、H5端正常显示&#xff0c;微信小程序报错&#xff1b; 效…...

爬虫 Day2

resp.close()#关掉resp 一requests入门 &#xff08;一&#xff09; 用到的网页&#xff1a;豆瓣电影分类排行榜 - 喜剧片 import requestsurl "https://movie.douban.com/j/chart/top_list" #参数太长&#xff0c;重新封装参数 param {"type": "…...

达梦数据库SQL

达梦JSON函数技术文档 SQL中关键词处理 -- 必须要使用双引号包裹 select id,"comment" from t_cmp_rd_process;select id,"commit" from t_cmp_rd_gjj_eva;JSON_EXTRACT函数 -- party_sup_other_json 是包含JSON数据的列名。 -- $.content_abstract 是J…...

python教程——把视频转成gif

一、前言 很多网站提供视频转GIF的功能&#xff0c;但要么收费要么有广告&#xff0c;实际上可以通过python&#xff0c;几行代码就能够实现视频转gif。 二、使用方法 1安装必备库moviepy pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple 2. 写入代码 …...

深入浅出Go的`encoding/xml`库:实战开发指南

深入浅出Go的encoding/xml库&#xff1a;实战开发指南 引言基本概念XML简介Go语言中的XML处理结构体标签&#xff08;Struct Tags&#xff09; 解析XML数据使用xml.Unmarshal解析XML结构体标签详解处理常见解析问题 生成XML数据使用xml.Marshal生成XML使用xml.MarshalIndent优化…...

深度学习之扩散模型(Diffusion model)

代码解析&#xff1a;正向扩散过程和加噪演示 引言 这段代码实现了一个正向扩散过程和加噪演示的功能。通过生成一个特定形状的数据集&#xff0c;并在每个时间步长上应用正向扩散过程和加噪过程&#xff0c;最终展示了数据点在空间中的演变过程。 数据集生成 通过 make_swiss…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...