一个新手自学java的笔记详情 简单粗暴

常用的快捷键

ctrl+s 保存   ctrl+a 全选   ctrl+f 查找    
ctrl+c 复制   ctrl+v 粘贴 
ctrl+x 剪切   ctrl+z 撤销
windows+d 回到桌面          windows+e 打开计算机
windows+l 锁屏 
windows+r 打开运行,输入cmd后启动dos窗口
ctrl+alt+delete 启动任务管理器  
ctrl+shift 切换输入法,一旦切换到中文输入法后则使用shift进行切换
alt+tab 切换任务

java

1.Java语言的概述(常识)

1.1 Java语言的背景

  1. Java语言诞生于1995年,之前隶属于sun公司,现在隶属于oracle公司。

  2. Java语言在编程语言排行榜占据重要的地位。

1.2 版本分类

(1) Java SE(Java Platform, Standard Edition)

  • 称之为“Java平台标准版”,主要学习Java语言的基础语法知识。

(2)Java EE(Java Platform,Enterprise Edition)

  • 称之为“Java平台企业版”,主要学习B/S架构项目的后台开发技术。

(3)Java ME (Java Platform,Micro Edition)

  • 称之为“Java 平台微型版”,随着Android系统的普及已经走向淘汰。

 

2.开发环境的搭建和使用

2.1 jdk的下载和安装

JDK是整个java的核心,包括java的运行环境、java工具和java基础类库。

(1) jdk的下载方式

方式一:通过官网下载 www.sun.com www.oracle.com 方式二:通过搜索下载 www.baidu.com www.sogou.com

(2) jdk的安装方式

1. 若下载的是安装版,则一路点击下一步安装即可;
2. 若下载的是绿色版,则直接解压即可;
3. 无论是安装版还是绿色版,切记安装的路径中不要有中文!!!

(3)相关的概念(记住)

  • jdk - Java开发工具包,只要做Java语言的开发就需要下载和安装该软件。

  • jre - Java运行时环境信息,只要运行Java项目就需要下载和安装该软件。

  • javac.exe - Java语言的编译器,主要用于将高级Java源代码翻译成字节码文件。

  • java.exe - Java语言的解释器,主要用于启动JVM对字节码文件进行解释并执行。

  • JVM - Java虚拟机,是一台虚拟的主机。

(4) 环境变量的配置

  • 基本概念 通常情况下可执行文件只能在安装目录中使用,若希望该可执行文件能在任意目录中使用,则需要配置环境变量Path。

  • 配置方式 计算机 => 右键,选择属性 => 高级系统设置 => 高级 => 环境变量 => 系统变量 => 找到Path后点击编辑,将javac.exe所在的路径信息粘贴到Path变量值的最前面,添加英文版分号 => 一路点击确定即可

  • 切记Path变量值原来内容不要动并且要重新启动dos窗口!

 

3.编写Java程序的流程

  1. 新建文本文档,将文件扩展名由xxx.txt修改为xxx.java

  2. 使用记事本的方式打开文件,编写Java代码后进行保存;

  3. 启动dos窗口,并切换到.java文件所在的路径中;

  4. 使用javac xxx.java进行编译,生成xxx.class的字节码文件;

  5. 使用java xxx 进行解释执行,打印最终结果;

public class Hello{
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

注意:文件名和类名必须一致

4.输出内容System.out.println()

System.out.println("hello world");

任务

编程打印自己的姓名、年龄、座右铭。

public class Qian{
    public static void main(String[] args) {
        System.out.println("姓名:"+"xxx");
        System.out.println("年龄:"+"18");
        System.out.println("座右铭:"+"你好,hello java");
    }
}

5.变量和注释(重点)

如: xiaomage 18 ...

5.1 变量的基本概念

当需要在程序中记录单个数据内容时则应该声明一个变量,变量本质上就是内存中的一块存储单元,由于该存储单元中的数据内容可以改变,因此得名为"变量"。

5.2 变量的声明方式

数据类型 变量名 = 初始值;

其中=初始值可以省略,但分号不许省略

如: int age = 18;

5.3 标识符(变量)的命名规则(笔试题)

  (1) 要求由字母、数字、下划线以及$等组成,其中数字不能开头;
     如:name、age、year、time、name2、name3
  (2)要求不能与Java语言中的关键字同名,关键字就是Java语言中用于表示特殊含义的单词;
     如:public、class、static、void
  (3)区分大小写,长度没有限制但不宜过长;
     如:day和Day代表两个名字,不推荐使用
  (4)尽量做到见名知意,支持中文但不推荐使用;
     如:length、size、month、day、年龄

5.4 常用的注释

 //    - 单行注释,从//开始一直到本行结束的内容都是注释
 /**/  - 多行注释,从/*\*开始一直到*/之间的所有内容都是注释,不允许嵌套 

6.数据类型

6.1 基本分类

在Java语言中数据类型主要分为两大类

(1) 基本数据类型(记住)
    byte、short、int、long、float、double、boolean、char
​
(2) 引用数据类型(了解)
    数组、类、接口、枚举、标注

6.2 整数类型

其中byte类型在内存空间中占1个字节,表示的整数范围是:-2^7 ~ 2^7-1. ​ -128 ~ 127 其中short类型在内存空间中占2个字节,表示的整数范围是:-2^15 ~ 2^15-1. ​ -32768 ~ 32767 其中int类型在内存空间中占4个字节,表示的整数范围是:-2^31 ~ 2^31-1. ​ 正负二十一亿之间 其中long类型在内存空间中占8个字节,表示的整数范围是:-2^63 ~ 2^63-1. ​ 比int类型还大的数

6.3 浮点类型

在Java语言中用于描述小数数据的类型有:float、double,推荐使用double类型。

float叫做单精度浮点数, double叫做双精度浮点数

6.4 布尔类型

在Java语言中用于描述真假信息的数据类型有:boolean,数值只有两种:true 和 false

6.5 字符类型

在Java语言中用于描述单个字符信息的数据类型有:char,如:'1'、'a'、'马'。 其中char类型在内存空间中占2个字节,该类型在以后的开发中很少使用,通常使用String类型加以描述,并且使用双引号将字符串内容括起来,如:"zhangfei"。

实现变量的输入和输出

// 导入java目录中util目录中的Scanner
import java.util.Scanner;
public class TestVar{
    public static void main(String[] args) {
        String name;
        int age;
        System.out.println("请输入姓名和年龄");
        // 表示创建一个扫描器来扫描从键盘输入的内容
        Scanner sc = new Scanner(System.in);
        //从键盘输入的内容中读取一个字符串放到变量name的空间中
        name =sc.next();
        // 注意:当使用nexInt()方法时,只能输入int类型的数据。
        age = sc.nextInt();
        // 打印用户输入的内容
        System.out.println("name=" + name);
        System.out.println("age=" + age);
​
​
    }
}

注意:出现乱码报错:则需要在运行时加 javac -encoding UTF-8 xxx.java

任务:使用变量打印自己的姓名、年龄、座右铭。

 // 导入java目录中util目录中的Scanner
import java.util.Scanner;
public class TestVar{
    public static void main(String[] args) {
        String name;
        int age;
        String sign;
        System.out.println("请输入姓名和年龄和座右铭");
        // 表示创建一个扫描器来扫描从键盘输入的内容
        Scanner sc = new Scanner(System.in);
        //从键盘输入的内容中读取一个字符串放到变量name的空间中
        name =sc.next();
        age = sc.nextInt();
        sign = sc.next();
        // 打印用户输入的内容
        System.out.println("name=" + name);
        System.out.println("age=" + age);
        System.out.println("sign=" + sign);
​
​
    }
}       // 用 + 字符串连接
        System.out.println("age"+age);
    }
}

 

7.分支结构

7.1 if-else分支结构

语法格式:

if(条件表达式){
      语句块1;
}else{
      语句块2;
}
​
执行流程:
判断条件表达式是否成立
  => 若成立,则执行语句块1;
  => 若不成立,则执行语句块2;
import java.util.Scanner;
​
public class TestIfElse{
​
    public static void main(String[] args){
​
        //1.提示用户输入考试成绩并使用变量记录
        System.out.println("请输入您的考试成绩:");
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();
​
        //2.使用if-else分支结构判断是否及格并给出对应的提示
        if(score >= 60){
           System.out.println("恭喜您考试通过了!");
        }else{
           System.out.println("下学期来补考吧!");
        }
​
        //3.无论是否及格都打印一句话
        System.out.println("世界上最遥远的距离不是生与死而是你在if我在else,看似相交却又永远分离!"); 
       
        //练习:提示用户输入一个整数,使用if-else分支结构判断该整数是负数还是非负数
    }
}

任务:编程使用if-else分支结构判断该整数为负数还是非负数

/*
     编程使用if-else分支结构判断该整数为负数还是非负数
 */
​
import java.util.Scanner;
​
public class TestIfElseJudge{
​
    public static void main(String[] args){
​
        //1.提示用户输入一个整数并使用变量记录
        System.out.println("请输入一个整数:");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
​
        //2.使用if-else分支结构判断该整数为负数还是非负数 
        if(num < 0){
            System.out.println(num + "是负数!");
        }
        else{
            System.out.println(num + "是非负数!");
        }
    }
}

 

7.2 if-else if-else分支结构

语法格式:

 if(条件表达式1){
      语句块1;
   }else if(条件表达式2){
      语句块2;
   }else{
      语句块n;
   }
​
执行流程:
判断条件表达式1是否成立
       => 若成立,则执行语句块1;
       => 若不成立,则判断条件表达式2是否成立
             => 若成立,则执行语句块2;
             => 若不成立,则执行语句块n;
/*
     编程实现if-else if-else分支结构的使用
 */
​
import java.util.Scanner;
​
public class TestIfElseifElse{
​
    public static void main(String[] args){
​
        //1.提示用户输入身份信息并使用变量记 
        System.out.println("请输入您的身份信息:");
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
​
        //2.使用if-else if-else分支结构判断身份并给出对应的提示
        //由于String类型不是基本数据类型,因此判断是否相等时不建议使用==
        //判断"军人"是否等于str,也就是是否与str相等
        if("军人".equals(str)){
            System.out.println("请免费乘车!");
        }
        else if("学生".equals(str)){
            System.out.println("请购买半价票!");
        }
        else{
            System.out.println("全价票等着您!");
        }
​
        //3.无论是什么身份都打印一句话
        System.out.println("坐上了火车去拉萨,去看那美丽的布达拉!"); 
​
       
    }
}

任务:编程使用if-else if-else分支结构判断该数是负数、正数还是零

/*
     编程使用if-else if-else分支结构判断该数是负数、正数还是零
 */
​
import java.util.Scanner;
​
public class TestIfElseifElseJudge{
​
    public static void main(String[] args){
​
        //1.提示用户输入一个整数并使用变量记录
        System.out.println("请输入一个整数:");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
​
        //2.使用if-else if-else分支结构判断并打印
        if(num < 0){
            System.out.println(num + "是负数!");
        }
        else if(num > 0){
            System.out.println(num + "是正数!");
        }
        else{
            System.out.println(num + "是零!");
        }
    }
}

8.一维数组

8.1基本概念

当需要在程序中记录单个数据内容时,则声明一个变量即可; 当需要在程序中记录多个类型相同的数据内容时,则声明一个一维数组即可

8.2 声明方式

语法格式 :

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

如:

 int[] arr = new int[3];  // 表示声明一个长度为3元素类型为int类型的一维数组
 int num = 3;             // 表示声明一个int类型的变量初始值为3
 int arr[] = new int[3];  // 不推荐使用 

注意: 只有在声明数组时[]中的数字才代表长度,否则一律代表下标;

语法格式 :

初始化
数据类型[] 数组名称 = {初始值1, 初始值2, ...};

如:

 int[] arr = {1, 2, 3, 4, 5}; // 声明一个初始值为1 2 3 4 5元素类型为int的一维数组
/*
     编程实现一维数组的声明和使用
 */
public class TestVar{
​
    public static void main(String[] args){
​
        //1.声明一个长度为3元素类型为int类型的一维数组  动态方式
        int[] arr = new int[3];
        //2.打印数组的长度以及数组中每个元素的数值
        System.out.println("数组的长度是:" + arr.length); //3
        System.out.println("下标为0的元素是:" + arr[0]);  //0 默认值
        System.out.println("下标为1的元素是:" + arr[1]);  //0
        System.out.println("下标为2的元素是:" + arr[2]);  //0
        //编译ok,运行发生ArrayIndexOutOfBoundsException数组下标越界异常
        //System.out.println("下标为3的元素是:" + arr[3]); 
​
        System.out.println("--------------------------------------------");
        //3.使用for循环打印数组中的所有元素
        for(int i = 0; i < arr.length; i++){
            System.out.println("下标为" + i + "的元素是:" + arr[i]); //全是0
        }
​
        System.out.println("--------------------------------------------");
        //4.测试一下double类型的元素默认初始值
        double[] brr = new double[4];
        //使用for循环打印所有元素值
        for(int i = 0; i < brr.length; i++){
            System.out.println("下标为" + i + "的元素是:" + brr[i]); //全是0.0
        }
​
        System.out.println("--------------------------------------------");
        //5.实现数组元素的初始化操作  静态方式
        int[] crr = {1, 2, 3, 4, 5};
        //使用for循环打印所有元素的数值
        for(int i = 0; i < crr.length; i++){
            System.out.println("下标为" + i + "的元素是:" + crr[i]); //1 2 3 4 5
        }
​
        System.out.println("--------------------------------------------");
        //6.特殊的声明方式
        int[] drr = new int[]{11, 22, 33, 44, 55}; 
        //使用for循环打印所有元素的数值
        for(int i = 0; i < drr.length; i++){
            System.out.println("下标为" + i + "的元素是:" + drr[i]); //11 22 33 44
        }
        
    }
}

任务:

声明一个长度为5元素类型为int类型的一维数组,打印数组中所有元素值;

public class TestVar{
​
    public static void main(String[] args){
​
        //1.声明一个长度为5元素类型为int类型的一维数组
        int[] arr = new int[5];
        //打印数组中所有元素值
        for(int i = 0; i < arr.length; i++){
            System.out.print(arr[i] + " "); //0 0 0 0 0
        }
        System.out.println();
​
        System.out.println("-------------------------------");
        
    }
}

 

 

你可能感兴趣的:(java)