java笔记汇总

it is just my personal learning notes

# 1序言
回想自从系统学完C语言后,很少在系统学一门编程语言,python听得时候天天摆烂,以至于学完了还是一团浆糊,直到大二开始在leetcode刷题才有所深入了解,看来学习还是得付诸于时间才行。
正好这段时间在经营博客,有事没事往上面扔点东西,挺好的

2 java基本内容

2.1 简介

官方白皮书给出了如下关键字:简单性(接近C++)、面向对象(支持多重继承)、分布式、健壮性(优秀的指针模型)、安全性(复杂的安全模型)、体系结构中立(Java虚拟机)、可移植性(众多平台独立的Java库)、解释型(轻量的编译过程)、高性能(即时编译器)、多线程、动态性。

2.2 java的程序结构

java程序是以类为单位的,类则是一种自定义数据结构(类似于C中的结构体struct)。上面的程序包含了一个public类型的class(类),Hello是这个类的类名,这名称需和文件名同名。和C语言一样,Java也是大小写敏感的。习惯上将类名的每个单词首字母大写。

这个类中包含了一个main方法(也就是函数),作为这个Java程序的运行起点。这个方法中包含了该程序的所有逻辑,和C非常相似。

2.3数据类型

java跟c/c++一样,数据元素有不同的数据类型
整型:byte(1字节),short(2个字节),int(4个字节),long(8个字节)
浮点类型:float(4字节),double(8字节)
字符类型 char
布尔类型 boolean

2.4输入输出

这点我认为java比较繁琐
首先头文件

1
import java.util.Scanner;

输入输出

1
2
3
Scanner in = new Scanner(System.in);
System.out.println(in.nextInt());
System.out.println(in.nextLine());

2.5 流程控制

流程控制
Java中也有块(block)的概念。大多数内容都和C一致,除了嵌套的块中不能声明重名变量。下面说一下流程控制语句:

if-else if-else 和C一样
while/do-while 和C一样
for 和C一样。不过添加了一种for each循环
switch 和C一样。不过从Java SE 7 开始,case标签可以是字符串字面量
break 后面可以带标签,用法和C中的goto一样。不过只能跳出语句块而不能跳入
continue 和C一样

2.6 高精度算法(大数值)

这个是一个可以说说的话题,还记着我大一下有门程序设计课,大作业就是完成各种常见的数据结构,其中就有一个高精度算法的C语言实现,但当时gpt水水就完事了,内在逻辑一点不清楚,看acwing的时候,惊奇听人说python一行就完事儿。

1
print(int(input())*int(input()))

注意这里是分行输入 看来以后还得写篇python
而java的实现

1
BigInterger a = BigInterger.valueOf(100);

2.7 数组

这个东西还挺烦人,刚学的时候一直记不住

1
2
3
int []ss = new int [100]//和cpp不一样的是,[]在前面写着
int []ss = {4,5,6,7};
a = {1,2,3};

java笔记汇总
http://www.difu101.top/2024/03/08/java学习笔记初级/
作者
difu
发布于
2024年3月8日
许可协议