Java基础篇--(一)

283 阅读13分钟

1.Java入门

  • 施乐--第一个提出并使用图形界面公司,之后才是微软、苹果等
  • 图形化界面的弊端:消耗内存和图形化资源,所以我们要学会使用命令行运行部分程序

1.1打开/进入cmd

  • cmd中文名是命令提示符
  • win+R按键同时按进入运行
  • (同时按下win+e打开'我的电脑',这里不演示)

image.png

  • 输入cmd

image.png

  • 回车

image.png

1.2常见cmd命令

  • cmd命令并不区分大小写,但是对中英文符号有区别,这点需要注意
  • 盘符名称+冒号表示盘符切换,可以不切换盘符运行命令,这里的冒号必须是英文冒号,eg:D:
  • dir表示查看当前路径下的内容
  • cd ..表示返回上一级目录
  • cd dirname表示进入目录,dirname是目录名字,可以用\分开进入多级目录
  • cd \回退到盘符目录
  • cls清屏
  • exit退出命令提示符
  • 命令行可以直接运行exe文件,比如在qq的程序目录下,在命令行中输入qq.exe就可以直接执行,如果想要在任何地方都可以输入qq.exe就直接运行,在windows中需要修改环境变量就行

image.png

image.png

  • 配置环境变量:

①找到设置(我的电脑是windows11版本,界面长这样)

image.png ②找到编辑系统环境变量,找到环境变量

image.png

③找到系统变量的Path,双击进去,新建后将绝对路径添加进去。在这里添加进去之后,在cmd中输入命令如qq.exe如果系统没有这类命令就会从这里的路径从上往下开始查找,所以顺序越上搜索到的速度就越快,之后的很多应用如java、python等需要配置环境变量的都会复习一遍。想要在任意目录打开相应软件,就可以把软件所在目录配置到环境变量。

image.png

1.3Java是什么

  • 一门编程语言
  • ......

1.4Java下载与安装

  • 相当于游戏的下载与安装,我们也需要安装下载该应用软件
  • 阿里云盘jdk8链接:jdk-8u371-windows-x64.exe
  • 下载完成直接安装就行了,可以更改目录,但是要记住你的安装目录,并且安装目录不含中文,你需要记住你的安装目录,可以用记事本记住,后面会用到
  • 官网下载地址:Download Java for Windows,这个网址是下载jre的,不是jdk,jdk8官网下载地址,只建议安装jdk8版本,注意是下载jdk而不是jre哈,jre是java运行环境,jdk是java开发工具包,才是java运行核心包括了jre,高版本jdk17以上会有中文乱码问题,官网下载需要有一个Oracle账号,并且网速可能不是很好,所以推荐使用阿里云盘链接。

  • 安装完成后有关目录介绍:
  • bin:各种工具命令,其中比较重要的有javac和java
  • conf:相关配置文件目录
  • include:存放一些平台特定的头文件
  • jmods:存放各种模块
  • legal:存放各模块的授权文档
  • lib:工具的补充jar包

1.5配置环境变量

  • 进入环境变量的编辑(这里使用win10,win11类似或者按照上述步骤)

image.png

  • 选择高级系统设置

image.png

  • 选择环境变量

image.png

  • 选择系统变量里的新建

image.png

  • 新建JAVA_HOME变量,变量值为你的jdk安装的绝对路径,如C:\Program Files\Java\jdk1.7.0_80

image.png

  • 修改PATH变量,变量值为%JAVA_HOME%\bin(这个值固定不变,建议复制粘贴,自己输入,容易出错)

image.png 或者:

image.png 看你遇到的是哪种情况

  • 点击确定,关闭环境变量配置界面

image.png

  • 如果你遇到重启系统之后环境变量就失效的bug,需要直接将绝对路径添加到环境变量Path上,这里可能会因为%开头的缘故无法直接正确加载环境变量,所以%%里面的环境变量一般不要放在最上面

image.png

  • 在cmd中输入java验证结果
  • PS:其实上述关于环境变量的描述中已经说明了,在配置jdk环境变量主要是将bin目录配置到Path(也可以大写PATH)中去,只不过用了一个%JAVA_HOME%代替了前面的部分,实际上还是一个完整的目录,为了后续其他软件的方便,这个JAVA_HOME变量还是很有必要的哦

1.6Java初体验

  • 首先在代码中不要出现中文,我们之后会解释
  • 新建一个文本文件HelloWorld.txt,如果你的电脑没有看到文件后缀名,需要自己修改一下

image.png

  • 修改后缀名为.java,即将文件的整个文件名修改为HelloWorld.java
  • 右键文件选择打开方式,用记事本打开文件
  • 开始写代码:
public class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello world");
	}
}
  • 注意保存代码,可以使用快捷键ctrl+s
  • 切换到代码文件所在的路径
  • 输入javac HelloWorld.java,命令行没有任何提示表示成功编译,成功后会成成一个字节码文件,此文件不能用记事本打开(javac是jdk提供的编译工具,我们可以通过这个工具,把当前路径下的HelloWorld.java文件编译成class文件)
  • 输入java HelloWorld,屏幕中打印出"Hello World"表示成功(java命令会运行字节码文件)

image.png

1.7Hello world常见问题

  • bug(小虫子)是程序出错问题的代称
  • 标点符号问题:中英文符号,无论是逗号还是分号都需要使用英文符号,在编写代码的过程中,除非特定字符串,都不能出现中文字符
  • 可以直接在目录上输入cmd直接进入当前文件夹:

image.png

image.png

2.文本编辑器Sublime Text

image.png

3.Java基本知识

3.1Java的发展历史

image.png

image.png

  • 为了与时俱进java更新很快,为了减少程序员负担,所以分为过渡版本和长期支持版本(LTS),其中常用的稳定版本为8.0,很多公司也一直使用这个版本

3.2Java的分类

  • JavaSE,但是最常见的是桌面应用开发语言是C/C++,学习JavaSE还有一个好处是为JavaEE打下基础

image.png

  • JavaME,目前已经被取代了,很少或者没有相关职位,安卓可以使用java写

image.png

  • JavaEE,主要用于服务器开发

image.png

3.3Java能做什么

image.png

image.png

  • Java为什么这么火?--与时俱进(6个月更新一次),......

3.4 Java主要特性:

image.png

* 面向对象:很重要,后面需要理解
* 安全性:不言而喻
* 多线程:......
* 开源:免费并且知道源代码,Java是开源的,但是Java程序不是开源的
* 简单
* 跨平台:能够在很多平台上运行

3.5Java跨平台原理

  • 高级语言的编译运行方式:编程(写代码)、编译(将代码翻译成机器认识的语言)、运行(让机器执行编译后的代码)
  • 高级语言的编译运行方式可以分为编译型、解释型和混合型(半编译、半解释)
  • 编译型:编译型语言,需要整体编译,即将源代码编译成另外一个文件(C语言:.c文件变为.obj文件;Java:.java文件变为.class文件)

image.png

  • 解释型:特点是按行翻译,即不需要生成一个新的文件,只需要一行一行翻译,翻译后直接运行

image.png

  • 混合型:Java是混合型语言,这里引入JVM(Java虚拟机)和虚拟机的概念,暂时不需要深究,Java的跨平台原理就是虚拟机

image.png

3.6 JDK & JRE

  • Java Development Kit: java开发工具包
  • Java Virtual Machine:(JVM)Java虚拟机,是java真正运行程序的地方
  • 核心类库:是java已经写好了的东西,是事先定义好的内容、格式等
  • 开发工具:我们之前用来编译以及运行的都是靠java提供的工具来的,如:编译工具javac,运行工具java,调试工具jdb,内存分析工具jhat

image.png

  • Java Runtime Environment:(JRE)Java的运行环境,是指已经有了class文件,我们运行java程序还需要的java工具,包括JVM、以及核心类库和运行时必要的开发工具,也称运行工具

4.注释

image.png

  • 文档注释有专门的工具来写,暂时不介绍,后面有详细地介绍 image.png image.png
public class HelloWorld{
        //叫做main方法,表示程序的主入口
	public static void main(String[] args){
                /*
                叫做输出语句(打印语句),会把小括号里面的字符输出。
                注释信息不会被执行,只是给人看的,如果将代码注释,那么代码将不会被执行
                注释信息不能嵌套,只的是不能再这个注释里面继续使用/  *  和 *  /连在一起了
                */
		System.out.println("Hello world");
	}
}
  • 有关注释的深入,在代码规范中有很强的限制哦

5.关键字

  • 指的是那些被java赋予了含义的单词,例如class ,public等
  • class关键字表示定义一个类,类是java对象的一个特殊名称,后面会理解,最外层类名需要和文件名一致
  • public关键字表示权限,到后面才会加深理解(新建一个文件名为HelloWorld,就需要在文件里面定义类public class HelloWorld{})

6.字面量(常量)

6.1分类

image.png 新建文件名:test1.java

public class test1{
    public static void main(String[] args)
       //整数
       System.out.println(1);
       //小数
       System.out.println(3.14);
       //字符串
       System.out.println("Hello world");
       //字符
       System.out.println('A');
       //布尔
       System.out.println(true);
       //空
       System.out.println(null);
}

运行:在命令行输入javac test1.java然后输入java test1

6.2特殊字符

  • 制表符'\t',作用是为了对齐,在打印的时候把字符串的长度补齐到8或者8的倍数

image.png

7.变量

  • 变量的定义:数据类型 变量名 = 数据值; test.java
public class test1{
    public static void main(String[] args)
      //数据类型int 变量名i 数据值1
      int i = 1;
      //输出i的值
      System.out.println(i);
      int b = 10;
      int c = a + b;
      //输出c的值
      System.out.println(c);
      //修改a的值
      a = 100;
      //一条语句定义多个变量
      int d=100,e = 290,f = 300;
      //定义与赋值可以分开写,但是在使用之前必须赋值
      int gg;
      gg = 1000;
}
  • java中的变量名不能重复,即不能重复定义一个变量,但是在Python当中这是符合语法的
  • 变量只能存一个值
  • 一条语句可以定义多个变量
  • 变量在使用之前需要赋值
  • 代码规范:一条语句只声明一个变量,变量声明的时候需要初始化一个值

8.计算机的存储规则

  • 在计算机中,任意数据都是以二进制的形式来存储的

8.1常见的进制

  • 二进制:由0和1组成,以0b开头,注意是零b
  • 十进制:由0-9组成,前面不加任何前缀
  • 八进制:由0-7组成,代码中以0开头,是数字0
  • 十六进制:由0-9还有a-f组成,代码中以0x开头,是零x
  • 进制是在jdk7以后提出来的
//这里省略的文件类名和入口函数
int a = 0b100111;
int b = 12;
int c = 03;
int d = 14f;

8.2进制之间的转换

  • 任意进制转十进制
  • 任意进制之间的转换
  • 建议好好学习一下进制之间的转换,本文不做详细介绍

8.3码表

  • ascii码表中每一个字母与一个二进制进行对照,但是没有中文收录在里面

image.png

  • GB2312这个码表才有中文

image.png

8.4图片数据

  • 常见名词

image.png

  • 标红为常见的分辨率

image.png

  • 这里的1920表示1920个像素点

image.png

8.4.1黑白图

image.png

8.4.2灰度图

image.png

8.4.3彩色图

  • 光学三原色:红绿蓝

image.png

  • 通过三种颜色的搭配可以表现任何颜色,如43,123,194,通过三原色的值来确定一个颜色,每个颜色是有取值范围的,都是0-255,0表示没有,255表示该颜色最深的颜色,顺序为红绿蓝,这个也称为RGB三原色,当然既可以是十进制形式,也可以是十六进制形式如(255,255,255)和(FFFFFF)

image.png

8.5声音数据

  • 波形图,通过对每个点进行采样得到数据,采样点多还原率高,实际上就是一串二进制数据来进行存储

image.png

9.数据类型

  • 基本数据类型

image.png

  • 取值范围

image.png

//...
byte a = 10;
short b = 18;
int c = 29;
//如果要定义以一个long类型数据需要再后面添加一个大写或者小写的L作为后缀
long d = 123L;
//与long同理,大写或者小写F是后缀
float e = 3.14F;
double f = 123.0;
char g = 'A';
boolean h = true;
  • 大小关系

image.png

  • 其他

image.png

9.1 练习:

image.png

  • 字符串:String,之后会详细介绍
//...
String name = "黑马程序员";
int age = 18;
char gender = '男';
double height = 180.1;
boolean flag = true;
System.out.println(name);
System.out.println(age);
System.out.println(gender);
System.out.println(height);
System.out.println(flag);

10.标识符

image.png

  • 命名需要按照规范:Java开发手册,这里不展开来讲
  • 硬性要求:

image.png

  • 关键字需要自己在使用中了解,不需要去记,用着就知道了
  • 软性建议:见名知意,以及对应使用小驼峰命名法和大驼峰命名法,还可以写注释

image.png

image.png

10.键盘录入

  • Scanner类的使用

image.png

  • 步骤:

image.png

import java.util.Scanner;
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
//表示接受一个整数
int i = sc.nextInt();
System.out.println(i);
//再次接受一个数据
int j = sc.nextInt();

11.IDEA

11.1概述

image.png

image.png

image.png

  • 唯一缺点:运行项目时CPU占用率高,接近2G

11.2下载和安装

  • 官网下载地址
  • 社区版阿里云盘下载地址,文件有点大,632MB的安装包:ideaIC-2023.1.exe
  • 社区版是免费的,专业版是收费的,但是有30天的免费试用时间,可以下载社区版使用,本文不提供破解教程
  • 安装步骤,除了以下需要修改,其他直接点击下一步和安装即可:

image.png

image.png

11.3开始使用

  • 项目结构

image.png

  • 新建项目 image.png
  • 新建模块

①第一种方法,不推荐 image.png image.png ②第二种方法

File--Settings--Project Structure--Modules

image.png

image.png image.png

image.png --点击加号

image.png

image.png

  • 基本目录结构

image.png

  • 新建包(目录):右键day02

image.png

  • 新建类

image.png

  • 快速生成main函数(入口函数):输入psvm然后回车

image.png

  • 输入sout回车快速生成输出函数
  • 右键运行

11.4设置外观

  • File--Settings

image.png

  • File--Settings下滑找到背景图的选项,就可以自定义背景图了

image.png

  • 可以拖动窗口大小进行预览和设置Opacity调节透明度

image.png

  • 调节字体大小,更换字体:File--Settings--Editor--Font,这里可以调节字体大小和字体,更换成Lucida Console防止小写字母i和字母l和数字1傻傻分不清的情况,当然也可以换成其他你觉得好看的字体

image.png

  • 注释颜色修改:File--Settings--Editor--Color Scheme--Language Defaults--Comment
  • 其中Block comment是块注释,Line comment是行注释

image.png

11.5快捷方式

  • sout:输出函数
  • psvm:主函数
  • ctrl+/:注释