IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java基础笔记 -> 正文阅读

[Java知识库]java基础笔记

Java编程语言

写程序的叫:编译器

程序执行叫:(jvm)虚拟机

Java的特性:

纯面向对象

跨平台

Java的跨平台

?平台:win ????mac ???Linux

跨平台:

Java程序可以在任意操作系统上运行

通过jvm可以实现跨平台

总结:在需要运行的java应用操作系统,安装一个与操作系统对应jvm(java虚拟机)即可

JRE

是java程序运行环境,包括JVM和核心类库

JDK

是java程序开发工具包,包括JRE和开发工具

工具: 编译工具(javac.exe) ???运行工具(java.exe)

Javac.exe负责编译 ????java.exe负责运行

一:创建自己项目的规则

命名规则:

项目名:首字母小写,第二个单词首字母大写

包名:小写字母

一般公司域名:www.softeem.com==com.softeem

类名:每一个单词首字母都大写

包名:就是文件夹,对类进行分类管理,方便快速查找,起名要见名知意

Src目录:用来存放编写的java代码

二:注释:

说明代码的含义

单行注释://

多行注释:/* ?*/

文档注释:/** ?*/ ????工具javadoc.exe ?生成帮助文档 ?类似说明书

Public ?class ?HelloWorld {

/*

*public 表示公开的

*class ?类

*HelloWorld 类名

*/

//主函数main 固定格式(程序执行的入口)

Public ?static ?void ?main ?(String[] args){

/*

*public 表示公开的

*static 表示静态的

*void 表示无返回的

*main 方法名

* (string[] args) 表示参数

*/

//输出语句

System.out.println(“******”);

}

}

三:输出语句

//+ln系统向外换行打印+输出的内容

System.out.println(“******”);

//不换行打印输出内容

System.out.print(“******”);

四:转义字符

\n是换行

\t 制表符(tab键)

\u000d ?表示换行

\b 倒退一个字符

\”?双引号

\\ 反斜杠\

五:变量

如何创建

数据类型 ?变量名=变量值

1.常用的基本数据类型:

数据类型 ?????????????关键字

整数 ??????????????????int

浮点 ??????????????????double

2.string类型 :字符串类型

3.拼接:+

String name=李白

System.out.println(我的名字叫:+name);

输出结果:我的名字叫:李白

Public ?class ?demo01 {

Public ?static ?void ?main ?(string[] args){

Int min=lnteger.MIN_VALUE; ???//获取int的最小值

Int max=lnteger.MAX_VALUE; ??//获取int的最大值

Int ?age=18;

double ?ml=185.2;

String ?a=遇事不决 可问春风

System.out.println(年龄:+age);

System.out.println(身高:+ml);

System.out.println(a);

}

}

输出结果是 ???年龄:18

身高:185.2

遇事不决 可问春风

scanner

  1. 什么是scanner

接收键盘输入的 ??因此称呼为键盘扫描器

  1. 如何创建?

Scanner ?对象名=new ?Scanner(System.in);

  1. 如果使用

对象名.next类型() ;

如果是string 直接next();

  1. 关闭键盘扫描器

?in.close

Public ?class ?demo01 {

Public ?static ?void ?main ?(string[] args){

//获取键盘扫描器

Scanner ??in=new ?Scanner(System.in);

//提示用户输入

System.out,println(请输入用户名字);

//接收键盘输入的信息 ??并赋值给name

String ???name=in.next();

//提示用户输入

System.out.println(输入年龄);

Int ??age=in.nextint();

System.out.println(“姓名为:”+name+”\n年龄为:”?+age );

//关闭键盘扫描器

in.close;

}

}

第二节课

一:Java数据类型

基本数据类型和引用数据类型

  1. Java中的基本数据类型

基本数据类型分八种:(四大类)

整形 :byte(字节) ??short(短字节) ??int ??long

小数: double ?float

判断: boolean ???????(真,假)

字符:char ??????(张,李)

2.八大基本数据类型的取值范围:

整形 ?????????????字节 ????????????取值范围

byte ??????????????1 ????????????????-128到127

short 2 -32768到32767

Int (默认类型) ????????4 ???????????-2147483648到2147483647

long ???????????????8

注意:整数默认类型是int ,随意给long值的情况下,如果超出了最大值需要在后面加上L

浮点类型 ???????字节 ????????????取值范围

float ??????????????4 ???????????????单精度小数精度六-七位

double ????????????8 ????????????????双精度小数精度 十六位

注意:浮点类型的默认是double ?,如果想将一个double给一个float在后面加f

字符 ??????字节 ????????????取值范围

char ????????2 ????????????????0-65535 ?Unicode编码

String(字符串)

char ?a=; ???string ?b=春风不解

布尔 ???????????字节 ????????????????取值范围

boolean ???????????1 ???????????????true(真)/false(假)

boolean???a=false;

运算符:

算数运算符,逻辑运算符,关系运算符,赋值运算符

算数运算符:

+ ??加法

- ??减法

* ??乘法

/ ??除法

% ??取余

++ ?自加1

-- ??自减1

在使用加法运算中,不可以与字符串相加,否则作为拼接

Int a=1 ?int ?b=2

String ?name=a+”名字”+b+a;

System.out.println(name);

输出结果:1名字21

++a表示自加1 ?前自增 ?先运算在赋值

a++ 表示 ???后自增 ???先赋值在运算 ??

在同一个表达式 有多个数据类型

double ?d=12+12324L+8.5f+’a’;

boolean不能参与算式运算 ?其他的都可以

类型的级别

Byte ?short ?char ----------int-------long--------float---------double(级别最高)

数据类型转换:

分为自动转换和强行转换

  1. 自动转换

小范围的数据赋值给大范围的,会自动转换为大范围的数据类型

  1. 强行转换

大范围转小范围 ???写法:(类型)变量名

Int c=1;

Byte d=(byte)c;

Byte e=(byte)128;

int ?d=(int)(12+12324L+8.5f+a); ??//强行转换

比较运算符

  1. == ?比较两边是否相等
  2. > ???大于
  3. < ????小于
  4. <= 小于或者等于
  5. >= ??大于或者等于
  6. != ???不等于

例题:

Public ?class ?demo01 {

Public ?static ?void ?main ?(string[] args){

System.out.println(请输入钱);

//获取键盘扫描器

Scanner in=new ?scanner(system.in)

Int ?a=in.nextint();

System.out.println(请输入你的名字);

String ?name=in.next();

//charAt(); ??表示在这个字符在那个位置 ?从0开始计算

//调用方法 ?取得 ?第一个字

Char ??cl=name.charAt(0);

Char ??ci=(char)(cl+510);

System.out.println(女方的名字+ci);

}

}

第三节课

一:逻辑运算符

&& ?(短路与) ??????????????两边为true ,结果为true

??????????????????????????一边为false,结果为false

?????????????????????????短路的特点,符号左边为false 右边不在运算(短路)

|| ?(段落或) ??????????两边为true,结果为true

但凡一边为true,结果为true

短路的特点,符号左边为true,结果为true 右边不在运算(短路)

!(取反) ???????????????!false 结果是true

?????????????????????????! true结果是false

二:三目运算符

三目运算符的使用格式

条件表达式? ??值1 ??: 值2

???????????????true ?????false

Int ?a =50>40&&40>20?1:2;

System.out.println(a);

输出结果:1

嵌套:

a=45 ???b=25 ?c=60

Int ?max=a>b?a>c?a:c :b>c?b:c;

输出结果为60

三:Ramdom随机数

创建随机数

方法一:

Ramdom ??对象名=new ?Random();

//创建随机数

Ramdom ?rd=new ?Random();

//获取随机数 ??范围为1-20之间

Int ?i=rd.nextInt(bound:20)+1;

System.out.println(“获取的随机数为:”+i);

System.out.println(rd.nextln(bound:100));??????//写入100的话,范围是0-99

//负数

System.out.println(-rd.nextint()); ?????-----随机出来的是负数

[重点]:

20+rd.nextInt(dound:80) ??范围为[20----99]

方法二:

Math.random()

Math.random() ????-----------在0-1之间随机生成一个小数

使用方法:

System.out.println(Math.random());

//生成0-10之间的是小数

System.out.println(Math.random()*10);

//生成0-10之间的整数

System.out.println((int)(Math.random()*10));

程序结构:(1)顺序结构,从头到尾 (2)选择结构if else

四:条件语句 if

1:if(条件表达式){

????.........语句

}

2:if(条件表达式) 语句; ????单独的if可以不加括号{}

3:if(条件表达式){

?????.......语句

}else{

}

4:if(条件表达式){

}else ?if(条件表达式){

}else{

}

列题:

if(a>b){

System.out.println(”去攀岩“); ??????????????//if成立执行

}else ?if(a==b){ ??????????????????????????????//if不成立执行else if ,判断if

System.out.println(”去爬山“);

}else{ ??????????????????????????????????????//判断if不成立,执行下面的else

System.out.println(”去旅行“);

}

![重点]!

If ?else来进行比较字符串

//判断字符串内容是否一致使用equals

比较内容.equals(要比较的内容)

比较内容.equals IgnoreCase(要比较的内容) ?作用是可以忽略大小写

例题:

String a=in.next();

String b=in.next();

If(a.equals(b)){

?System.out.println(正确);

}

选择结构switch case:

条件比较规律,需要进行分类的时候使用

格式:

switch(整数表达式或者字符串){

case 结果1: ?语句1; ??break;

case 结果2: ?语句2; ??break;

case 结果3: ?语句3; ??break;

...........

??????default: 语句;

}

case :针对括号的里面计算内容进行匹配

default :找不到对应的case,去执行default后面的语句

switch映射到对应的case以后,如果加break终止,会一直往下执行下面的case,不管是否满足都会执行

例题:

??Scanner in=new Scanner(System.in);

??//输入年龄

int ?a=in.nextInt();

??

??switch(a/10){

??????Case 1:

??????????System.out.println(儿童);

Case 2:

??????????System.out.println(少年);

Case 3:

??????????System.out.println(中年);

Case 4:

??????????System.out.println(老年);

??????default:

??????????System.out.println(你输入有误,请从新输出);

}

五:循环

for循环 ???while循环 ???do.......while循环

:While循环

语法结构

While(条件表达式或者条件运算){ ?

}

用法:

1.定义计数器(记录循环次数)

Int ?a=0;

2.用计数器构成条件语句

while(a<10){

?3.让计数器逐渐接近条件语句的临界值

a++;

}

2.break:是循环终止的意思

列题:

Public ?class ?demo01 {

Public ?static ?void ?main ?(string[] args){

//计数器

Int ?a =0;

While(a<3){

?System.out.println(循环);

a++;

break;} ????????????????-------break终止结束循环

} ??}

二:do.......while循环

do{

代码块

}while(条件表达式或者条件运算);

先执行一次代码块,再去判断条件语句,如果成立就循坏执行代码块,直到条件不成为止

案例:用于登陆功能

for循环

格式:

for (表达式1; 条件表达式; 表达式2){

代码块

};

格式说明:

表达式1:一般情况下,表达式1用于定义计算

条件表达式:一般情况下,用计算器构建条件语句

表达式2:一般情况下,让计算器逐渐接近条件语句的临界值

列题:

Int n=0

for(System.out.print(1);n<3;System.out.print(2) ){

?System.out.print(3);

n++;

}

输出结果为: 132

???????????32

???????????32

??

注意:

1.表达式1最先执行,并且只执行一次

2.条件表达式第二个执行

3.如果条件表达式成立,就先执行代码块

4.代码块执行完之后,再去执行表达式2,表达式2执行完之后,再去判断条件表达式,依次循环

for循环嵌套

for(;;){

for(;;){}

}

双重for循环

外层的循环,先执行一次,里层的循环要全部执行完毕

里层的for循环执行完毕之后,才开始外层for循环的下一次循环

列题:

//验证码池子

String codePool=QWERTYUO1223245姑羡

//从验证码池子中随机五个字符出来拼接成验证码

//创建随机数

Random rd=new ?Random();

//定义一个存放验证码的变量

String ?code=””;

//循环五次,每次随机一个字符

for(int i=0;i<5;i++){

//在字符串长度范围内生成随机数,用来从验证码池子中随机抽取字符

[重点]

//获取字符串的长度(字符串中有多少个字符)

//用法 ?字符串.length()

int ?index =rd.nextint(codePool.length());

//随机拿取一个验证码的位数的字符

Char c=code.charAt(index);

[重点]

//每取出一个字符,追加到验证码的末尾

Code+=c;

}

System.out.println(验证码为:+code);

//创建键盘扫器

Scanner in=new Scanner(System.in);

//接收输入的内容

String shuru=in.next();

//比较字符串内容是否相等,并且忽略大小写

If(shuru.equalsignoreCase(code)){

System.out.println(输入正确);

}

}

?for ??(当多重循环时)

  1. 可以给循环加标记,加标记的方式 ?标记名:
  2. 在break的时候,使用break 标记名;可以结束指定的循环

列如:

out:for(int i=1;i<=10;i++){

for(int j=1;j<=4;j++){

If(j==3){

//这里的break out;结束指定循环

break out;

}

}

}

While ?do ?while ?for循环:三个循环分别什么时候使用

  1. 如果知道具体循环次数的,推荐使用for循环
  2. 如果不知道循环次数的,推荐使用while循环
  3. 如果要确保循环次数内容至少执行一次,推荐do while循环

数组

Java中的数组:java中可以用来存放多个数据类型相同的数据

定义数组的方式:

方法一:

类型 [] 数组名 =new 类型[长度];

方法二:

类型 [] 数组名={值1,值2,值3........值n};

方法三:

类型 [] 数组名=new 类型[]{值1,值2,值3........值n};

格式一:适用于不清楚数组中具体会存放那些数据时

格式二.格式三:适用于知道数组的具体存放的数据时

使用数组需要注意的问题:

  1. 定义数组时,必须指定数组长度.
  2. 数组中数据的数据类型必须一致
  3. 数组的长度一旦创建(定义)成功,不可改变,改变之后就会产生新的数组

格式:

定义数组的格式一:?

//定义了一个可以存放4个int类型整数的数组

int [] ?nums=new ?int[4];

//定义了一个可以存放7个String类型字符串的数组

String [] ?names=new ?String[7];

定义数组的格式二:

String [] wifes={“姑苏” , ”羡” , ”忘”};

double [] salary={100.0 , 200.0 , 300.0};

定义数组的格式三:

int [] arys=new ?int[]{4 , 5 , 6 , 7 };

[注意]:

//直接输出数组,会输出数组在内存中的地址值

//如果想要格式化输出数组内容: ??Arrays.toString(数组名)

System.out.println(“数组的内容为:”+Arrays.toString(wifes))

数组中常用的方法:

1.格式化输出数组: ?Arrays.toString(数组名)

2.获取数组的长度: ?数组名.length

3.获取数组在某个位置(下标)上的元素: ?数组名[下标]

4.修改数组中某一个位置上的元素: ?数组名[下标] = 值;

5.?数组的排序: Arrays.sort(数组名); ??????????????????????// 顺序从小到大

6.数组的扩容和缩容:Arrays.copy0f(原数组,扩容或缩容之后的数组的长度)

??????如果copy0f之后的数组长度小于原数组的长度,就是缩容

??????如果copy0f之后的数组长度大于原数组的长度,就是扩容

??????扩容和缩容都是在数组的末尾处进行的

注意:

?扩容和缩容之后,都会产生新的数组,原来的数组就不存在了

注意:

获取字符串的长度: ?字符串名.length()

第二条:获取数组的长度:

System.out.println(“数组的长度为:”+数组名.length);

第三条:获取数组在某个位置(下标)上的元素:

注意:

数组是从0开始的

System.out.println(“数组的第3个内容为:”+数组名[2]);

第四条:修改数组中某一个位置上的元素:

其他的数组内容不会发生改变

wifes[3]=”姑苏”;

System.out.println(Arrays.toString(wifes));

数组的遍历(将数组中的元素逐个访问到):

//获取数组第一个元素:
System.out.println(数组名[0]);

//访问数组最后一个元素

方式:

数组名.length-1;

System.out.println(数组名[数组名.length-1]);

遍历for循环(固定格式):

//循环中的i表示 数组的下标;

//要遍历数组 i需要从 0 ??到 ??数组名.length-1 ?????逐渐增加

for(int i=0 ; ?i<数组名.length-1 ; ?i++){

}

第五条:数组的排序

一般是从小到大排序的

格式: ?

Arrays.sort(数组名);

例如:

Arrays.sort(数组名);

System.out.println(排序之后的分数+Arrays.toString(数组名));

六:数组的长度一旦定义成功,不可改变,改变之后就会产生新的数组

String[] wifes={“姑””苏””羡”};

//不可以这样改变

wifes={””””}

数组的扩容和缩容

数组的扩容:在数组中扩充位置

格式:

Arrays.copy0f(原数组,扩容或缩容之后的数组的长度)

wifes=Arrays.copy0f(wifes, newLength:wifes.length+1); ????//在末尾扩充一个位置

//如何扩容或缩放的位置是数字,就是代表数字的长度是多少

wifes=Arrays.copy0f(wifes, 2); ??

二维数组

Java 中没有严格意义的二维数组,所谓的二维数组就是数组中的数组

(一:)二维数组 ?(格式):

一:

数据类型[][] 数组名 = new 数据类型[有多少个一维数组]

[每个一维数组中有多少个元素]

二:

数据类型[][] 数组名 = new 数据类型[有多少个一维数组]

[每个一维数组中有多少个元素]{{},{}}

用法:

  1. :

int[][] array = new int[2][3];

  1. :

int[][] array = new int[][]{{1,2},{3,4},{5,6}};

(二:)输出二维数组中的一维数组:

(1):int类型输出需要加:Arrays.toString();

int[] [] a=new int[][]{{1,1,1},{2,2,2,2},{3,3,3,3,3}};

System.out.println(Arrays.toString(a[1]));

(2):String类型输出需要加:Arrays.toString();

String[][] n=new String[][]{{"姑苏","姑苏"},{"云梦","云梦"}};

System.out.println(Arrays.toString(n[0]));

(3):cher类型正常输出即可

char[][] b=new char[][]{{'a','b'},{'v','n'}};

System.out.println(b[0]);

(三:)输出二维数字中的某个元素:

a[1][1]; ????????????????n[1][1]; ??????????????b[1][2];

(四:)获取二维数组中有几个一维数组

char[][] chars =new char[][]{{'a','b','c'}, {'d','e','f','z'},{'g','h','i'}};

方法:

二维数组名.length;

System.out.println("二维数组的长度"+chars.length);

(五:)获取第一个一维数组中有多少个元素(长度)?

System.out.println("第一个一维数组中有多少个元素"+chars[0].length);

例题:

//二维数组的遍历 -->双重for

// 这个for循环遍历的是有多少个一维数组

for (int i= 0;i<chars.length;i++){

//内循环遍历每个一维数组中有多少个元素呀

for (int j = 0;j<chars[i].length;j++){

System.out.print(chars[i][j]+"\t");

}

System.out.println();

} }

}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:33:44  更:2022-02-09 20:34:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 6:10:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码