Java基础学习笔记

Java基础学习笔记

注释

什么是注释

注释是在程序指定位置添加的说明下信息

简单理解,就是对代码的一种解释

注释内容不会参与编译与执行,仅仅是对代码的解释说明

不管是单行注释还是多行注释,在书写的时候都不要嵌套

这个嘛,没得可说,每个语言都有。一定要写注释,不然你真的会忘记这是什意思。然后是注释不会被执行

注释的分类

  • 单行注释

    // 这是一个单行注释
    
  • 多行注释

    /* 这是一个多行注释
    这是一个多行注释
    这是一个多行注释*/
    
  • 文档注释

    /** 这是文档注释
    这是文档注释
    这是文档注释
    */
    

为什么会有文档注释,老师说给在后面将的。这个好像是用来写一些API文档帮助的。说明这个类的作用、或者接口等等javadoc

代码

public class HelloWorld{
	// main方法,程序的主入口
	public static void main(String[] args){
		/* 输出语句
		输出Hello World! */
		System.out.println("Hello World!");
	}
}

我用的notepad++运行的,发现报错

HelloWorld.java:2: 错误: 编码 GBK 的不可映射字符 (0xA3)
        // main鏂规硶锛岀▼搴忕殑涓诲叆鍙?
                            ^
1 个错误

看样子这是一个字符集的问题,注释不会被执行,可是他把我的注释运行了。推断是字符集的祸!

然后搜索,是字符集不匹配,就是说GBK字符集里面没有中午

如果是第一次遇到的问题,可以尝试javac -encoding UTF-8 HelloWorld.java ,这应该是指定中文编码,utf-8

关键字

什么关键字

关键字:被Java赋予了特定含义的英文单词

关键字的特点

关键字字母全部小写

常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观

在Java当中一共有50多个关键字

class

// 基本框架
public class HelloWorld{

    
}

用于(创建/定义)一个类

类是Java最基本的组成单元

  • HelloWorld:类名

python和C里面也都有,python有35个左右。就是Java对这些单词赋予了含义,你只能按照他的用处去用,否则报错。

字面量

什么是字面量

告诉程序员:数据在程序中的书写格式

字面量的分类

字面量类型说明举例
整数类型不带小数点的数字88,-66,…
小数类型带小数点的数字13.14,-3.14,…
字符串类型用双引号括起来的内容“HelloWorld”,“java学习笔记”,…
字符类型用单引号扣起来的,内容只能有一个‘A’,‘b’,‘我’,…
布尔类型布尔值,表示真或假只有两个值:True,False
空类型一个特殊的值,空值值是:null

练习

public class ValueDame1{
	public static void main(String[] args){
		// 整数
		System.out.println(111);
		System.out.println(222);
		
		// 小数
		System.out.println(13.14);
		System.out.println(-5.21);
		
		// 字符串
		System.out.println("Hello World!");
		System.out.println("你好 世界!");
		
		// 字符
		System.out.println('A');
		System.out.println('我');
		
		// 布尔
		System.out.println(true);
		System.out.println(false);
		
		// 空值 
		/* null不能直接打印,
		如果要打印null,只能用字符串的形式打印 */
		System.out.println("null");
	}
}

字面量就是数据/数值,这个东西好理解,但是这个概念好迷呀,python和C语言并没有提出过,但是这种方式并不是第一次看见。老师说这个也不能称是常量。

特殊字符

字符含义说明
\t制表符在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍,至少补一个空格,最多补8个空格。

练习

public class ValueDame2{
	public static void main(String[] args){
		// 制表符的基本用法
		System.out.println("name" + "\t" + "age");  // 字符串的拼接
		System.out.println("Tom" + "\t" + "23");
	}
}

\n \t \r …也很常用,在其他语言里面也有。

变量

什么是变量

变量:在程序的执行过程中,其值有可能会发生改变的量(数据)

使用场景

某个数据经常发生改变时,我们也可以用变量存储。当数据变化时,只要修改变量里面记录的值即可。

用户登录

变量的定义格式

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

  • 数据类型:为空间存储的数据,加入类型【限制】整数?小数?…

    整数类型:int

    小数类型:double

  • 变量名:为空间(小巷子)起的名字

  • 数据值:存在空间里面的数值

  • 等号:赋值,把右侧的数据赋值给左侧的变量

在这里我通过搜索字面量还可以这样理解。数据类型 变量名 = 数据值; 这不是定义一个变量嘛,字面量也可以是数据值。

变量的使用方式

  • 输出打印

    int a = 10;  // 整数
    System.out.println(a)  // 10
    

    数据类型是整型;变量名是a;字面量是10。

  • 参与计算

    int a = 10;  // 整数
    int b = 20;
    System.out.println(a+b);  // 30
    
  • 修改记录的值

    int a = 10;  // 整数
    System.out.println(a);  // 10
    a = 20;
    System.out.println(a);  // 20
    

变量的注意事项

  • 只能存一个值
  • 变量名不允许重复定义
  • 一条语句可以定义多个变量
  • 变量在使用前一定要进行复制
  • 变量的作用域范围

数据类型 变量名1 = 数据值1, 变量名2 = 数据值2, 变量名3 = 数据值3;

int d = 100, e = 200, f = 300;

变量这里,也都是语言通用的,都有

数据类型

数据类型的分类

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

基本数据类型

数据类型关键字取值范围内存占用
整数byte-128~1271
short-32768~327672
int-231 ~ 231 -14
long-263 ~ 263-18
浮点数float1.401298e-45 ~ 3.402823e+384
double4.9000000e-324 ~ 1.797693e+3088
字符char0-655352
布尔booleantrue,false1

在这里就需要记忆一下了,C语言也是有这个的、也可以看出来Java是静态语言,指定好数据类型后,就不可以改变了。还有他们的数据范围,应该学会灵活运用。内存占用等等,当然现阶段不用管这么多,我是初学者,就知道int double 就可以了。还有char

练习

public class VariableDemo3 {
    public static void main(String[] rags){
        // byte
        byte a = 10;
        System.out.println(a);  // 10

        // short
        short b = 20;
        System.out.println(b);  // 20

        // int
        int c = 100;
        System.out.println(c);  // 100

        // long
        long d = 999999999L;
        System.out.println(d);  // 999999999

        //float
        float e = 3.14F;
        System.out.println(e);  // 3.14

        //double
        double f = 13.14;
        System.out.println(f);  // 13.14

        //char
        char g = 'a';
        System.out.println(g);  // a

        // oolean
        boolean h = true;
        System.out.println(h);  // true


    }
}

注意

  • double > float > long > int > short > byte
  • long类型变量:需要加入L标识(大小写都可以)
  • float类型变量:需要加入F标识(大小写都可以)

练习

public class VariableTest2 {
    public static void main(String[] rags){
        String name = "学Java的小明";  // 姓名
        int age = 20;  // 年龄
        char sex = '男';  // 性别
        double height = 1.80;  // 身高
        boolean single = true;  // 单身
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
        System.out.println("性别:" + sex);
        System.out.println("身高:" + height);
        System.out.println("是否单身:" + single);
    }
}

一个名片打印,定义了一堆变量,不同类型。

标识符

什么是标识符

标识符:就是给类、方法、变量等起的名字

标识符命名规范

硬性要求

  • 由数字、字母、下划线(_)和美元符($)组成
  • 不能以数字开头
  • 不能是关键字
  • 区分大小写

软性建议

  • 小驼峰命名法:方法、变量

规范1:标识符是一个单词的时候,全部小写。

范例1:name、

规范2:标识符有多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写。

范例2:firstName

  • 大驼峰命名法:类

规范1:标识符是一个单词的时候,全部大写。

范例1:Student

规范2:标识符有多个单词组成的时候,每个单词首字母大写。

范例2:GoodStudent

  • 见名知意

这个也没什么可记的,给变量起名字。

键盘录入

键盘录入介绍

  • Java帮我们写好一个类叫Scanner,这个类就可以接收键盘输入的数字

使用步骤

  1. 导包:Scanner这个类在哪
  2. 创建对象:表示我们就要开始用Scanner这个类了
  3. 接受数据:真正开始干活了。
import java.util.Scanner;  // 导包

public class ScannerDemo {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);  // 创建对象
        int i = sc.nextInt();  // 接收数据
        System.out.println(i);
    }
}   

可以看出来这就是一个最简单的输入程序。

练习:两数求和

import java.util.Scanner;  // 导包

public class ScannerTest{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);  // 创建对象
		System.out.println("Please enter the first number");
        int a = sc.nextInt();  // 接收数据
        System.out.println("Please enter the second number");
		int b = sc.nextInt();  // 接收数据
        System.out.println(a+b);
    }
}

可以看出用来两次sc.nextInt() 也就可以推断出先要多少次输入,只需要有多少个sc.nextInt() 就可以。至于这个函数是什么,我也不知道。

idea的概述和下载

idea的概述

  • IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。
  • 集成环境:把代码编写,编译,执行,调试等多种功能综合到一起的开发工具。

怎么说呢,每个语言都有这么一个软件,python有pycharm,C语言也是有,但我没记住。

我在用这个工具,但我一直不理解什么是集成环境。现在这么一说和我的体验,有所了解

之前用notepad++对代码编写后我们需要先保存,然后在调出cmd,编译javac HelloWorld.java 、执行java HelloWolrd,这些可以说是浪费时间的,如果是初学者,这样可以是理解一下Java的代码执行逻辑。但是随着以后我们技术有所增长,代码量增大,这完全可以说是落后了。

因此idea只需要编写代码,一个运行,或一个调试,就可以保存+编译+执行这一系列自动完成。还有代码补齐,自动报错功能。

什么是集成环境,我现在用notepad++写代码,用Javac编译。用Java运行。他们都是分开的。而集成环境idea,这些都放在了一起,

下载和安装

官网:https://www.jetbrains.com/idea

idea中的第一个代码

项目结构

  • project(项目、工程)
  • module(模块)
  • package(包)
  • class(类)
project(项目、工程)

以微信为例,整个微信就是一个项目

淘宝、京东等这些网站就是一个项目,

这个也不用过多记忆,一个工程,你要干什么,这个就是一个项目

module(模块)

在一个项目中,可以存放多个模块,不同的模块可以存放项目中不同的业务功能代码。

为了更好的管理代码,我们会把代码分别放在两个模块中存放。

一个完整的项目是包含一个或多个模块

在微信的下面有消息、通讯录、发现、我四个功能,也就是四个模块

可以看成相同的业务功能代码放进一个包,然后一个项目有N个模块,那么就有N个业务功能

package(包)

一个模块中又有很多的业务

为了把这些业务区分的更加清楚,就会用包来管理这些不同的业务。

包可以理解为文件夹,放相同代码的地方。

以微信消息模块为例,在消息当中要写与文字、动画、图片…相关的代码,因此把各自的代码放到各自的包里

以文字代码为例,会把与文字相关的代码放进文字文件夹,也就是包、

class(类)

​ 就是真正写代码的地方。

就是我们写的.java 文件。

小总结
  • project(项目) ——> module(模块) ——> package(包) ——> class(类)
  • 一个项目中有多个模块,一个模块中有多个包,一个包中有多个类

这么一来便于管理,就和桌面文件夹一样,我就喜欢把我写的Java、python、c的代码放进不同的文件夹,或许还会细分,在哪学的等等。

新建完整项目

下载并安装好idea后的第一个项目需要新建一下。

我先创建了一个文件夹JavaStudy,表示这个里面是我的Java学习。

  • 新建项目:【New Project】——【Empty Project】——【Project name】【Project location】

    【Project name】:项目名称

    【Project location】:项目存放目录

  • 新建模块:打开【Project Structure】——【Modules】——【New Modules】——【Java】——【next】——【Module name】【Content root】【Module file location】——【Finish】——【ok】

    【Module name】:模块名称

    【Content root】:模块内容路径

    【Module file location】:

  • 新建包:右击当前模块——【new】——【package】——【包名】

    也可以创建多级包【xxx.xxx.xxx】

  • 新建类:右击当前包——【new】——【package】——【Java class】——【类名】

idea的项目和模块操作

类的操作

新建类

右键点击需要存放类的【文件夹】——【new】——【Java Class】——【类名】回车

删除类

右键点击需要删除的【类】——【Delete】——【OK】

修改类名

右键点击需要修改类名的【类】——【Refactor】——【Rename】——【新类名】(Shift + F6)

模块的操作

  • 新建模块

    【File】——【Project Structure】——【Module】——【Add】——【New Module】——【Java】——【next】——【Module name】【Module root】【Module file location】——【Finish】——【ok】

项目的操作

  • 关闭项目

    【File】——【Close Project】

  • 新建项目

    【New Project】——【Empty Project】——【name】【Location】

解释两个目录

  • src:用来存放我们编写的代码文件,包
  • out:存放编译的文件,我还找呢,怎么没有编译产生文件

总结

这是第二天学习的内容。

学习了注释、关键字、字面、变量、数据类型、标识符、键盘录入、idea

学习的内容有点多,但是如果是已经接触过语言,C语言,那么你会发现这些事情是每个语言的必有项,只是语法稍有一点不同而已。但也是有值得记忆的地方,class定义类。数据类型,这个各语言有各自的特点,Java的输入语句。多条输入语句怎么写。现在看来就是这三部分内容有点需要记忆。其他的还好。

好了,我的学习笔记到此结束。

里面肯定有许许多多的bug,欢迎大家指出!毕竟这样成长更快。

也感谢大家可以看到这样,如果帮到了你,是我的荣幸。

谢谢大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值