10. java基础知识(下)
文章目录
- 一、一带而过
- 二、字符串类型String
- 1. 简单了解
- 2. 关于结束符'\0'
- 3. 自动类型转换与强制类型转换
- 三、API文档与import导包
- 1. API文档
- 2. import导包
- 四、java中的数组
- 1. 创建
- 2. 遍历
- 3. 补充
- 4. Arrays类
- ① 简单介绍
- ② 练习
- 五、方法的重载
- 六、规范约束
- 七、内容出处
一、一带而过
① java中没有指针的概念,引用类型可以简单理解为其替代品
② java中常量定义为final;c语言的c11标准中,用const定义常量
java菜鸟教程
③ 正则表达式需要自己去谷歌上了解一下–很重要 不过在公司开发时一般会让我们直接用别人的,很少让自己写。
二、字符串类型String
1. 简单了解
c语言中是没有这个数据类型的
c语言中的字符串怎么保存
练习方式:
① 菜鸟教程
② java官方文档 – 内容比较新
中文版
package com.practice.demo;public class Main {public static void main(String args[]){String str1 = "Hello";String Str2 = " Word";System.out.println("str1 = " + str1);System.out.println("Str2.length() = " + Str2.length());System.out.println(str1 + Str2);System.out.println(str1.concat(Str2));char[] chars = str1.toCharArray();System.out.println("chars = " + chars);for(int i = 0; i < str1.length(); ++i){System.out.println("chars = " + chars[i]);}System.out.println("str1.toUpperCase() = " + str1.toUpperCase());}
}
2. 关于结束符’\0’
c语言:字符串是字符数组,需要通过’\0’标记字符串结尾。在定义字符数组时也需要给’\0’预留出位置,否则就会出现不可预料的后果。‘\0’也可以防止内存访问越界。
java语言:虽然Java的String类也是基于字符数组的方式实现的(这里说的是String这个数据类型的内部实现方式),但是java里没有’\0’这回事。因为java是面向对象语言,所以java中的String类不仅是一个字符数组,它是一个封装了字符数组的不可变对象,它内部通过字符数组和其它元数据(如:length)来管理字符串。length属性直接存储字符串的长度,可以直接根据这个长度判断字符串的结束位置。我们遍历字符串时,可以通过length判断字符串长度,从而避免越界访问
3. 自动类型转换与强制类型转换
使用时都需要注意,用不好就容易出错:
自动类型转换:从低到高
强制类型转换:从低到高
小品:主角与配角
可以结合这个小品理解:
前半段 – int(朱时茂) 与 char(陈佩斯) 上个世纪char也曾辉煌过,但是现在实际开发过程中,除了开发底层的一些东西时会用到char,其余时候几乎不常用
后半段 – String(朱时茂) 与 char(陈佩斯) 实际开发过程中,明明有写好的函数,非得自己写
三、API文档与import导包
1. API文档
jar包:创建java项目时通常会让我们导入jar包,这里面存放我们开发需要的一些库函数之类的东西
API文档:jar包中内容的说明文档
2. import导包
等同于c语言中#include<>的作用。假设我在demo包里开发,现在我想用tool包里的东西,此时就需要使用import导包。jar包里的东西默认所有包都可以直接用,因此不需要另外用import导包
例如:
我在Main.java中使用Student.java里的内容不需要用import导包,因为Main.java和Student.java同属于demo包。
但是我要在Main.java里使用Teachar.java里的内容就需要用import导包,因为Main.java在demo包里,而Teacher.java在tool包里,它俩不属于同一个包。
我们都知道.length()方法在java.lang包里,但是在Main.java里用它时不需要用import导包。这是因为java.lang已经包含在我们创建项目时导入的jar包里了,这个jar包里所有的东西默认是可以直接用的。
不同的目录下可以有同名的java类,导包时注意不要导错。
例如:
四、java中的数组
1. 创建
① 声明:
② 初始化:
2. 遍历
3. 补充
上述java数组其实不是特别常用,因为它属于静态数组。
4. Arrays类
① 简单介绍
Arrays是java自带的一个库,它里面提供了一些查询、排序等方法,帮助我们进行开发工作。
位置:
② 练习
五、方法的重载
方法:其实就是c里面的函数,只不过在java里换了个名字而已
方法的重载:一是方法名相同,二是参数个数或者参数类型不同。跟函数的返回值无关。
java的底层源码也用到了重载:
好处:只需要定义一个方法名就可以应对不同的输入情况,用起来更方便。
六、规范约束
该部分具体内容可以参看阿里java开发手册
补充:驼峰命名法起源于:Perl语言(脚本语言中的瑞士军刀)
七、内容出处
java
相关文章:
10. java基础知识(下)
文章目录 一、一带而过二、字符串类型String1. 简单了解2. 关于结束符\03. 自动类型转换与强制类型转换 三、API文档与import导包1. API文档2. import导包 四、java中的数组1. 创建2. 遍历3. 补充4. Arrays类① 简单介绍② 练习 五、方法的重载六、规范约束七、内容出处 一、一…...
kafka 在Linux安上的装部署
一、前言 Kafka 是一个分布式流处理平台,在大数据领域有着广泛的应用。在 Linux 系统上安装部署 Kafka 可以为我们搭建高效的数据处理环境。本教程将详细介绍在 Linux 中安装和部署 Kafka 的步骤。 二、准备工作 2.1 系统要求 确保你的 Linux 系统已经安装并配置…...
kill-start系统进程的研究
kill/start系统进程的研究 声明:内容的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 目录 kill/start系统进程的研究Windows系统进程简介特点系统进程 tas…...
【系统架构设计师】2024年下半年真题论文: 论面向服务的架构设计(包括解题思路和参考素材)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2024年下半年 试题1)解题思路论文素材参考面向服务的架构(SOA)概念和特征面向服务的架构关键技术面向服务的架构设计原则面向服务的架构设计案例分析SOA设计面临的挑战与应对策略真题题目(2024年下半…...
吴恩达深度学习笔记:序列模型(Sequence Models) 1.1-1.2
目录 第五门课 序列模型(Sequence Models)第一周 循环序列模型(Recurrent Neural Networks)1.1 为什么选择序列模型?(Why Sequence Models?)1.2 数学符号(Notation) 第五门课 序列模型(Sequenc…...
【Spring】Spring Web MVC基础入门~(含大量例子)
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:什么是Spring Web MVC 1:Servlet 2:总结 二:MVC …...
使用ThorUi
摘要: 官网 今天遇到一个老项目,使用的是ThorUi组件库!之前没有用过这组件库,所以记录一下不同框架是使用情况! ThorUI 是一个基于 Thorium 的 UI 框架,用于构建跨平台的桌面应用程序。如果你打算使用 Thor…...
【Promise】自定义promise
文章目录 1 定义整体结构2 Promise 构造函数的实现3 promise.then()与promise.catch()的实现4 Promise.resolve()与Promise.reject()的实现5 Promise.all与Promise.race()的实现6 Promise.resolveDelay()与Promise.rejectDelay()的实现 1 定义整体结构 /*自定义 Promise */ (f…...
Docker容器部署Windows系统教程
本章教程,使用Docker容器部署一个Windows操作系统容器。 一、拉取容器 dockurr/windows:latest二、运行容器 docker run -dit --name win11 -v $PWD:/share -v /opt/iso/win11.iso:/custom.iso -p 3389:3389 -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-tim…...
js id数组转字符串
在 JavaScript 中,将数组转换为字符串有几种常见的方法。每种方法都有其特定的用途和格式。以下是一些常用的方法: 1. Array.prototype.join(separator) join 方法将数组的所有元素连接成一个字符串,并使用指定的分隔符(默认为逗…...
如何在 Android 上增加 SELinux 权限
SELinux(Security-Enhanced Linux)是一种强制访问控制(MAC)机制,它为 Android 系统提供了额外的安全层。通过 SELinux,系统管理员可以定义细粒度的安全策略,限制进程对文件、网络和其他资源的访…...
MySQL:数据类型建表
问题:我想建一个名为create和database的库可以吗? 如果按照一般的类型来建带有关键字的库 就会出现报错 如果我们这样写的话:关键词 ,则会建库成功。 选择要进行操作的数据库 use数据库 判断选择的库是否成功 删除数据库 drop…...
Linux:版本控制器git的简单使用+gdb/cgdb调试器的使用
一,版本控制器git 1.1概念 为了能够更方便我们管理不同版本的文件,便有了版本控制器。所谓的版本控制器,就是能让你 了解到⼀个文件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录工程的每⼀次改动和版本迭代的⼀个…...
【React.js】AntDesignPro左侧菜单栏栏目名称不显示的解决方案
作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:WebStorm 目录 问题概述 原因 解决方案 解决方法 潜在问题修改 最终效果呈现 额外内容 管理员界面路由配置 WebStorm背景更换 法一: 法二: 问题概…...
力扣力扣力:91.解码方法
91. 解码方法 - 力扣(LeetCode) 在完成动态规划入门之后,我们先整一个中档题,也是前面简单题的变体。 分析思路: 在拿到最终结果之前,我们应该明确什么样的数字序列能够解码。 规则1:由于只有…...
一些面试题总结(二)
21、TCP的四次挥手? 在断开TCP连接时,需要通过四次挥手来断开,过程是: (1)客户端向服务端发送FIN1和序列号SEQx的数据包,用来关闭客户端到服务端的数据传送。然后客户端进入 FIN-WAIT-1 状态。 (2)服务端接收FIN后,…...
Hive-testbench套件使用文档
Hive-testbench套件使用文档 hive-testbench 是hortonworks的一个开源项目,用于测试和基准测试 Apache Hive 的工具集。它提供了一系列的测试数据集和查询样例,用于评估和比较 Hive 在不同配置和环境下的性能。hive-testbench 的主要目标是模拟真实的大规模数据集和复杂查询…...
大数据新视界 -- 大数据大厂之 Impala 性能优化:新技术融合的无限可能(下)(12/30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
Python | Leetcode Python题解之第540题有序数组中的单一元素
题目: 题解: class Solution:def singleNonDuplicate(self, nums: List[int]) -> int:low, high 0, len(nums) - 1while low < high:mid (low high) // 2mid - mid & 1if nums[mid] nums[mid 1]:low mid 2else:high midreturn nums[l…...
AHB Matrix 四星级 验证笔记(2.4) Tt3.3AHB总线协议测试时的 并行数据
文章目录 前言一、代码二、错误1.地址范围2. 并行执行线程中变量覆盖的情况3.有关incr的beat 前言 来源路科验证本节搞定 T3.3 AHB总线协议的覆盖:AHB_PROTOCOL_COVER 即测试ahb slave接口和master接口支持(尽可能)全部的ahb协议传输场景&am…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...


















