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

相关推荐
geng小球1 分钟前
LeetCode 93-复制 IP地址
java·算法·leetcode
程序员徐师兄4 分钟前
Java基于SpringBoot+Vue框架的宠物寄养系统(V2.0),附源码,文档
java·vue.js·spring boot·毕业设计·宠物寄养系统·宠物寄养
程序员徐师兄8 分钟前
Java基于SpringBoot+Vue的宠物共享平台的设计与实现(附源码,文档)
java·vue.js·spring boot·宠物寄养·宠物共享平台·宠物管理平台
非概念14 分钟前
STM32学习笔记------GPIO介绍
笔记·stm32·嵌入式硬件·学习
极客先躯18 分钟前
高级java每日一道面试题-2024年11月02日-Redis篇-Redis6之后为什么开始支持多线程?
java·redis·多线程·优势·多核处理
颜淡慕潇33 分钟前
【数据库系列】 Spring Boot 集成 Neo4j 的详细介绍
java·数据库·spring boot·后端·neo4j
乌啼霜满天24935 分钟前
tomcat与servlet版本对应关系
java·servlet·tomcat
爱吃土豆的程序员36 分钟前
windows tomcat 报错后如何让窗口不闪退
java·windows·tomcat·窗口闪退
尘佑不尘41 分钟前
linux命令详解,openssl+历史命令详解
linux·运维·服务器·笔记·web安全
呼啦啦啦啦啦啦啦啦1 小时前
【Java多线程】wait方法和notify方法
java·开发语言