JAVAEE基础(个人向)
声明:该文章仅作为个人笔记,不具有任何参考性,对其标题有意向的请参考其他专业文章。
1.JAVA概述
1.1 计算机基础
软件/硬件
软件可分为系统软件和应用软件
系统软件: dos,windows,Linux(centos7.8,红帽,deepin:国产),Mac
移动端:android,ios, 鸿蒙(华为)
应用软件: 客户端软件必须更新才能使用服务器高版本的功能!
QQ客户端
office办公软件
vnc-view(客户端)
Vcn-service(服务端)
人机交互
主要分为图形界面和字符界面,如Linux和Windows都有其图形界面和控制台dos界面。
Windows字符界面:win+R—>cmd—>回车打开(推荐)
ps:如果是家庭版用户,没有安全策略选项,建议选择第二种:开始菜单—>输入cmd—>右键以管理员打开。
Linux字符界面:init 3(图形界面命令init 5)是比较方便且安全的进入方法,具体更多方法以及原理不多做描述。
1.2 Dos控制指令
ps:为方便Windows和Linux的指令记忆,选择将两者共同进行汇总
- 更改盘符
Windows:d:
Linux:无特定,可通过后续cd至指定目录文件完成 - 进入指定目录
Windows:cd \目录名路径(可相对和绝对路径)
Linux:cd /目录文件名(同上) - 返回上一层
Windows:cd . .
Linux:cd . .(同上) - 回退根目录
Windows:cd
Linux:cd / - 创建一个目录
Windows:md 目录名
Linux:mkdir 目录名 - 创建一个文件
多行编辑
Windows:copy con 文件名.后缀(键入结束crtl+z)
Linux:cat >文件名.后缀(结束crtl+d)
vim/vi/grdet 文件名
单行编辑
Windows:echo 内容>文件名
Linux:echo “内容”>文件名 - 删除目录
Windows:rd 目录名(目录全为空)
rd /s 目录名(目录有内容,删除有警告)
rd /s /q 目录名(强制删除,无警告)
Linux:rm 目录名(目录无内容)
rm -rf (强制删除,无警告) - 删除文件
Windows:del 文件名
Linux:rm 文件名(Linux中一切皆文件) - 清屏
Windows: cls
Linux:crtl+L 或者 clear - 查看ip地址信息
Windows:ipconfig
Linux:ifconfig - 访问ip
Windows:ping ip地址
Linux:ping ip地址
1.3 Java语言平台
- JAVASE
- JAVAVME
- JAVAEE
1.4 Java特点
- 面向对象
面向对象的方法主要是把事物给对象化,包括其属性和行为。 - 跨平台
JAVA程序通过JVM虚拟机运行在Windows,Linux,Mac等平台 - 开源
可以查看到任何JDK等等的底层源码
1.5 Java语言环境搭建
- jre:Java运行环境
- jdk:Java开发包
- jvm:Java虚拟机
jdk包含jre包含jvm
1.6 Path环境变量配置
原因: 需要在任何目录下使用javac和java源文件进行编译和运行
方式: 此电脑—>右键属性—>高级系统设置—>环境变量—>系统变量—>新建变量名:JAVA_HOME 变量值:jdk所在目录路径
1.7 编写JAVA程序
1)新建文件xxx.java
2)编写代码
3)编译javac xxx.java
4)运行java xxx
2.JAVA语言基础
2.1 关键字
public static void main
2.2 标识符
2.2.1 常量
2.2.2 变量
- 格式
数据类型 变量名 = 值; - 命名规则
开头必须使用文字、下划线、$符号,中间包括前面的以及数字,并且尽量遵守小驼峰的命名方法。
-初始化
在使用之前,必须要进行初始化。 - 数据类型
java数据类型分为两大类:基本数据类型和引用数据类型
基本数据类型:整数类型(字节类型、短整型、整数默认类型、长整型)、浮点类型(float、double)、字符类型(char)、布尔类型(boolean)
引用数据类型:数组、类和接口。
2.3 赋值运算符
2.4 逻辑运算符
2.4.1 逻辑与
2.4.2 逻辑或
2.4.3 逻辑非
2.5 位运算符
2.5.1 |
2.5.2 &
2.5.3 !
2.6 三元运算符
- 基本格式
(条件判断)?条件1:条件2;
3.JAVA控制语句
3.1 顺序结构
由上到下依次执行
3.2 选择结构
3.2.1 if语句
案例一:求三个数据中的最大值
import java.util.Scanner;
public class Demo9 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入第一个数");
int a = input.nextInt();
System.out.println("输入第二个数");
int b = input.nextInt();
System.out.println("输入第三个数");
int c = input.nextInt();
//方法一,三元
int max1= (a>b)?a:b;
int max = (max1>c)?max1:c;
System.out.println("最大值为:"+max);
//方法二,if
int max2,max3;
if(a>b) {
max2 = a;
}else max2 = b;
if(max2>c) {
max3 = max2;
}else max3 = c;
System.out.println("最大值为:"+max3);
}
案例二:判断学生等级
import java.util.Scanner;
public class Demo12 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
if(a<100 && a>=90) {
System.out.println("A");
}else if(a<90 && a>=80)
{
System.out.println("B");
}else if(a<80 && a>=70)
{
System.out.println("C");
}else if(a<70 && a>=60)
{
System.out.println("D");
}else if(a<60 && a>=0)
{
System.out.println("E");
}else System.out.println("输入错误!");
}
}
3.2.2 switch语句
案例一:判断星期
import java.util.Scanner;
public class Demo10 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
switch(a) {
case 1:System.out.println("星期一");
break;
case 2:System.out.println("星期二");
break;
case 3:System.out.println("星期三");
break;
case 4:System.out.println("星期四");
break;
case 5:System.out.println("星期五");
break;
case 6:System.out.println("星期六");
break;
case 7:System.out.println("星期七");
break;
default:System.out.println("请重新输入!");
}
}
}
3.3 循环结构
3.3.1 for语句
案例一:打印出所有的水仙花数
public class Demo13 {
//水仙花数
public static void main(String[] args) {
int a,b,c;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
int num = a*100+b*10+c*1;
if(num == a*a*a+b*b*b+c*c*c)
{
System.out.print(num+" ");
}
}
}
}
}
}
案例二:百钱买百鸡
public class Demo14 {
//白钱买白鸡
public static void main(String[] args) {
int a=0,b=0,c=0;//a是公鸡,b是母鸡,c是小鸡
for(a=0;a<=35;a++)
{
for(b=0;b<=100;b++)
{
for(c=0;c<=400;c++)
{
if(a+b+c==100 && c%3==0 && a*3+b*2+c/3==100)
{
System.out.println("公鸡:"+a+"母鸡:"+b+"小鸡:"+c);
}
}
}
}
}
}
3.3.2 while语句
案例一:使用while/for循环分别求出1-100之间的和以及1-100之间的偶数和
import java.util.Scanner;
public class Demo11 {
//使用while/for循环分别求出1-100之间的和以及1-100之间的偶数和
public static void main(String[] args) {
//while方法
int a=1,sum=0;
while(a<=100) {
sum+=a;
a++;
}
System.out.println("while方法下的1-100和:"+sum);
//for方法
int b,sum2=0;
for(b=1;b<=100;b++) {
sum2 += b;
}
System.out.println("for方法下的1-100和:"+sum2);
//while偶数和方法
int c=0,sum3=0;
while(c<=100) {
sum3+=c;
c = c+2 ;
}
System.out.println("while方法下的1-100的偶数和:"+sum3);
//for偶数和方法
int d,sum4=0;
for(d=0;d<=100;d=d+2) {
sum4 += d;
}
System.out.println("for方法下的1-100偶数和:"+sum4);
}
}
3.3.3 do-while语句
案例一: