10. java基础知识(下)

文章目录

一、一带而过

① java中没有指针的概念,引用类型可以简单理解为其替代品

② java中常量定义为final;c语言的c11标准中,用const定义常量
java菜鸟教程

③ 正则表达式需要自己去谷歌上了解一下--很重要 不过在公司开发时一般会让我们直接用别人的,很少让自己写。

二、字符串类型String

1. 简单了解

c语言中是没有这个数据类型的
c语言中的字符串怎么保存
练习方式:

菜鸟教程

java官方文档 -- 内容比较新

中文版

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

相关推荐
暮志未晚Webgl3 分钟前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
红色的山茶花6 分钟前
YOLOv8-ultralytics-8.2.103部分代码阅读笔记-block.py
笔记·深度学习·yolo
坚硬果壳_14 分钟前
《硬件架构的艺术》笔记(六):流水线的艺术
笔记·硬件架构
小叶lr28 分钟前
idea 配置 leetcode插件 代码模版
java·leetcode·intellij-idea
qq_4298565733 分钟前
idea启动服务报错Application run failed
java·ide·intellij-idea
瑞雨溪35 分钟前
java中的this关键字
java·开发语言
J不A秃V头A42 分钟前
Redisson 中开启看门狗(watchdog)机制
java·分布式锁·看门狗
草字1 小时前
uniapp input限制输入负数,以及保留小数点两位.
java·前端·uni-app
李迟1 小时前
某Linux发行版本无法使用nodejs程序重命名文件问题的研究
java·linux·服务器
MapleLea1f1 小时前
26届JAVA 学习日记——Day14
java·开发语言·学习·tcp/ip·程序人生·学习方法