Java概述

Java发展史

1995年诞生,在sun公司

java(5.0)更新力度极大,Java(8.0)公司中使用最多的版本,Java(11.0)学习版本。

Java语言跨平台原理

平台:操作系统平台(windows,mac,linux)

跨平台:java可以在任意操作系统上运行

跨平台原理:各平台之间的的信息交流需要“翻译”,有了“翻译”之后就可以在各个平台之间使用,这个“翻译”叫做Java虚拟机(JVM)针对不同的操作系统有不同的虚拟机。

JRE和JDK

JRE:Java Runtime Evironment,是Java程序运行时的环境,包含JVM和运行时所需要的核心内库,我们想要运行一个已有的Java程序,那么只需要一个JRE即可

JDK:时Java程序开发的工具包,包含JRE和开发人员使用的工具。

其中开发工具:编译工具(javac。exe)和运行工具(java。exe)

我们需要开发一个全新的Java程序,那么必须安装JDK。

JDK的下载和安装

image-20210702201031768

第一程序

常用dos命令

打开win+r

输入cmd

![img](file:///C:\Users\yyh\Documents\Tencent Files\2050157259\Image\C2C`VGIYJDI3~I`$BZUL}WDQ0Z.png)

path环境变量的配置

开发Java程序,需要使用JDK提供的开发工具,而这些工具在JDK的安装目录的bin目录下。

为了在开发Java程序时,能够方便的使用javac和java这些命令,我们需要配置Java环境变量。

hello world案例

开发Java程序步骤:编写程序,编译程序,运行程序

hello world案例的编写:新建文本文档文件,改成.java格式,在新建文本内编写程序

编译:javac文件名.java 执行:java类名

基础语法

注释

注释的描述:注释是在程序的指定位置添加的说明性信息

注释的分类:多行注释/* /,单行注释//,文档注释//* */

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*类的定义格式:
public class 类名{

}
这是我定义的helloworld类
*/

public class HelloWorld{
/*
这是main方法
main方法是程序的入口方法,代码的执行是从main方法开始的
*/
public static void main(String[] args){
//这里是输出语句:“”里面的内容是可以改变的
System.out.println("hello world");
}
}

关键字

关键字概述:被Java语言赋予了特定含义的单词

关键字的字母全是小写

例如public class ,public static void.有五十个左右

常量

常量的描述:在程序运行过程中,其值不能发生改变的量。

![img](file:///C:\Users\yyh\Documents\Tencent Files\2050157259\Image\C2C\Q%V]]G3EPN`KGFQ5RQ8J6P7.png)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class constantDemo {
public static void main(String[] args) {
//字符串常量
System.out.println("hello world!");
System.out.println("黑马程序员");
System.out.println("--------------------");

//整数常量
System.out.println(666);
System.out.println(-88);
System.out.println("--------------------");
//小数常量
System.out.println(13.14);
System.out.println(-5.21);
System.out.println("--------------------");
//字符常量
System.out.println('A');
System.out.println('0');
System.out.println('我');
System.out.println("---------------------");

//布尔常量
System.out.println(true);
System.out.println(false);
System.out.println("---------------------");
//空常量
//空常量是不能直接输出的
//System.out.println(null);
}
}

数据类型

存储单元:最小的信息单元是位(bit)——》b;计算机中最小的存储单元是字节(byte)——》B

一个字节是由连续的八个位组成的。

java语言是强类型语言,对每一种数据都给出了明确的数据类型,不同的数据类型分配不同的内存空间。所以他们表示的数据大小也是不一样的。

数据类型:基本数据类型和引用数据类型。基本数据类型包括数值型和非数值型(布尔)。引用数值类型包括类,接口数组。数值型包括整数,浮点数,字符。

![img](file:///C:\Users\yyh\Documents\Tencent Files\2050157259\Image\C2C[HVIPZ$WY3TCQ3TD075KA~M.png)

给的整数默认是int类型,给的小数默认的是float类型。

变量

变量概述:在程序运行过程中,其值可以发生改变的量。从本质上讲变量是内存的一小块区域。

变量的定义:格式:类型 变量名=变量值

变量的组成:变量名,数据类型,变量值。

变量的使用:取值和修改值

标识符

标识符:给类,方法,变量等起名字的符号。

1由数字,字母,下划线(_)和美元符($)组成

2不能以数字开头

3不能是关键字

4区分大小写

常见命名约定

小驼峰命名法:1标识符是一个单词的时候,首字母小写 2标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写 (针对方法和变量)

大驼峰命名法:1标识符是一个单词的时候首字母带大写 2标识符是多个单词组成的时候,每个单词首字母都大写(类)

类型转换

类型转换分类:自动类型转换(把一个表示数据范围小的数据或者变量赋给一个表示数据范围大的变量),强制类型转换(把一个表示数据范围大的数据或者变量赋给另一个数据范围小的变量)格式:目标数据类型 变量名=(目标函数类型)值或变量。

不建议进行强制类型转换,会出现数据丢失。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class AutomaticTypeConversion {
public static void main(String[] args) {
//自动类型转换
double d = 10;
System.out.println(d);
//定义byte类型的变量
byte b=10;
short a=b;
int i = b;
System.out.println(a);
System.out.println(b);
System.out.println(i);
/* 这是不可以的这些不兼容
char c=b;*/
//强制类型转换
char c=(char)88.88;
int k=(int)88.88;
System.out.println(c);
System.out.println(k);
}
}

运算符

算数运算符

运算符和表达式

运算符:对常量或者变量进行操作的符号。表达式:用运算符将常量或者变量链接起来的符合java语法的式子就可以称为表达式。

算数运算符包括加减乘除取余,整数相除只能得到整数,若想得到小数需要浮点数的参与。

字符+操作

字符在参与操作的时候字符和数字之间是可以加的

A:65 a:97 0:48

byte ,short,char类型都会被提升到int类型;整个表达式类型字段提升到表达式中最高等级操作数相同的类型:

byte short char——》int——》long——》float——》double

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class StringOperation {
public static void main(String[] args) {
//定义两个变量
int i=10;
char c='A';//字符A的值是65
c='a';//字符a的值是97
c='0';//字符 0的值是48
System.out.println(i+c);
//char ch=i+c;char类型会被提升位int类型
int j=i+c;
System.out.println(j);
double k= 10+13.14;
}

}

字符串的+操作

字符串参与加法操作时时字符串的拼接

1
2
3
4
5
6
7
8
    public static void main(String[] args) {
System.out.println("it"+"heima");
System.out.println("itheima"+"666");
System.out.println(666+"itheima");
System.out.println("黑马"+6+66);
System.out.println(1+99+"年黑马");//先做加法运算再进行链接运算,做加操作时从左到有依次进行
}
}

赋值运算符

=是赋值,+=加等号再得出答案(隐含了强制类型转换),注意short类型前后类型不一致

自增自减运算符

++ 变量 的值+1,–变量的值-1,操作中使用++放前面是先++再运算,放后面先参与操作后进行++–的操作

关系运算符

逻辑运算符

&且|或^异或!非

&&短路与||短路或与基本的逻辑运算符基本相同,不同点:短路或和短路与会终止运行:&&左边为真右边执行,左边为假右边不执行,||左边为假右边执行,左边为真右边不执行。

三运运算符

关系表达式?表达式1:表达式2; eg:a>b?a:b 关系表达式是正确的则输出表达式1,错误的就输出表达式2

两只老虎

一只老虎180kg,一只老虎200kg,判断两只老虎的体重是否相同。

1
2
3
4
5
6
7
8
public class 两只老虎 {
public static void main(String[] args) {
int weight1 =180;
int weight2=200;
boolean b= weight1==weight2? true:false;
System.out.println(b);
}
}

三个和尚

三个和尚的身高分别为150cm,210cm,165cm,获取三个和尚的最高身高

1
2
3
4
5
6
7
8
9
10
11
12
public class 三个和尚 {
public static void main(String[] args) {
int height1=150;
int height2=165;
int height3=210;

int tempHei= height1>height2?height1:height2;
int c=tempHei>height3?tempHei:height3;
System.out.println(c);

}
}

数据输入

数据输入

IDEA

idea的项目结构

项目porject:多个模块,每个模块有多个包,每个包里面有多个java文件,

内容辅助键和快捷键

psvm加回车是快速生成main的方法;sout加回车是快速生成输出语句的方法;

内容辅助键 ctrl+alt+space是内容提示加代码补全等

快捷键:

1注释:单行注释:选中代码ctrl加/,再来一次就是取消;多行注释:选中代码,ctrl加shift加/,再来一次就是取消

2格式化:ctrl+alt+l

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class operatordemo {
public static void main(String[] args) {
System.out.println("helloworld");
System.out.println("黑马程序员");
System.out.println("我爱Java");

// System.out.println("黑马程序员");
// System.out.println("我爱Java");

/* System.out.println("黑马程序员");
System.out.println("我爱Java");*/

//格式化ctrl+alt+l
int i = 10;
System.out.println("i:" + i);

}jav
}