java 基础学习1

目录

一.注释

二.关键字

三.字面量

四.变量和标识符

五.键盘录入 

六.运算符


一.注释

1.单行注释://注释信息

2.多行注释:/* 注释信息*/

3.文档注释:/** 注释信息*/   

注:文档注释暂时用不上

二.关键字

关键字: 被Java赋予了特定涵义的英文单词。
1.关键字的字母全部小写。
2.常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观。 

例如:class关键字表示定义一个类,后面跟随类名

java 基础学习1_第1张图片

 

三.字面量

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

java 基础学习1_第2张图片

执行:

public class hlt1 {
    public static void main(String[] args) {
        System.out.println(123);
    }
}

java 基础学习1_第3张图片

注意:

null需要通过字符串形式打印出来

特殊字面量:

java 基础学习1_第4张图片

四.变量和标识符

 1.变量的声明:在使用变量之前,需要先声明它们。声明变量时需要指定变量的类型和名称。例如,int num; 声明了一个整数类型的变量名为 num。

2.变量的赋值:在声明变量后,可以通过赋值将具体的数据存储到变量中。例如,num = 10; 将整数值 10 赋给了变量 num。

3.变量的初始化:声明变量的同时也可以进行赋值操作,这称为变量的初始化。例如,int num = 10; 声明并初始化了一个整数类型的变量 num。

4.变量的命名规则:Java对变量命名有一些规则。变量名只能包含字母、数字、下划线和美元符号,并且不能以数字开头。此外,变量名是区分大小写的。

java 基础学习1_第5张图片

5.变量的作用域:变量的作用域指的是变量在程序中的可见范围。在Java中,变量可以具有不同的作用域,如方法内部、代码块内部或类的成员变量等。

6.数据类型:Java中的变量都有特定的数据类型,用于指定变量可以存储的数据范围和所占内存空间。常见的数据类型包括整数类型(如int、long)、浮点数类型(如float、double)、字符类型(char)和布尔类型(boolean)等。

注意:如果要定义long类型的变量,在数据值的后面需要加一个L作为后缀。

           定义float类型变量的时候,数据值也需要加一个F作为后缀。

五.键盘录入 

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

java 基础学习1_第6张图片

 演示如何使用Scanner类实现键盘录入:

import java.util.Scanner;

public class KeyboardInputExample {
    public static void main(String[] args) {
        // 创建Scanner对象
        Scanner scanner = new Scanner(System.in);

        // 提示用户输入信息
        System.out.print("请输入您的姓名:");

        // 使用Scanner的nextLine方法获取用户输入的一行文本
        String name = scanner.nextLine();

        // 提示用户输入年龄
        System.out.print("请输入您的年龄:");

        // 使用Scanner的nextInt方法获取用户输入的整数
        int age = scanner.nextInt();

        // 输出用户输入的信息
        System.out.println("您的姓名是:" + name);
        System.out.println("您的年龄是:" + age);

        // 关闭Scanner对象
        scanner.close();
    }
}

在上面的示例中,我们通过创建Scanner对象并传入System.in参数来实现键盘录入。然后使用Scanner的nextLine方法获取用户输入的一行文本,使用nextInt方法获取用户输入的整数。最后,输出用户输入的信息。

注意:当使用Scanner类进行键盘录入时,需要确保输入的数据类型与所期望的数据类型相匹配,否则可能会出现异常。此外,在程序结束后,应该调用Scanner对象的close方法来关闭Scanner对象,释放资源。

六.运算符

运算符就是对常量或者变量进行操作的符号。比如: +  -  *  /

  • 表达式:

​   用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。

​   比如:a + b 这个整体就是表达式。

​   而其中+是算术运算符的一种,所以这个表达式也称之为算术表达式。

  • 注意:

/:1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。

2.小数直接参与运算,得到的结果有可能是不精确的。

System.out.println( 10 / 3);//3
System.out.println(10.0 / 3);//3.3333333333333335

%:取模、取余。

   他做的也是除法运算,只不过获取的是余数而已。

System.out.println(10 % 2);//0
System.out.println(10 % 3);//1
应用场景:
//可以利用取模来判断一个数是奇数还是偶数
System.out.println(15 % 2);//1  奇数
  • 隐式转换:(自动转换)

也叫自动类型提升。就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。(就是小的给大的,可以直接给)

int i = 10;
double d = i; // 自动转换为 double 类型
System.out.println(d);//输出是10.0

* 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

* byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

byte b1 = 10;
byte b2 = 20;
??? result = b1 + b2;//int
问变量result是什么类型的?

 因为b1和b2都是byte类型的。所以在参与计算的时候,变量b1和变量b2里面的值都会自动提升为int类型的。最终其实就是两个int类型的相加,最终结果也是int类型的。

取值范围从小到大的关系:

​   byte short int long float double

  • 强制转换

当一个大范围的数据类型被赋值给一个小范围的数据类型时,需要使用强制转换。强制转换可以通过将变量的类型放在括号中来实现。

double d = 10.5;
int i = (int) d; // 强制转换为 int 类型
System.out.println(i);

需要注意的是,强制转换可能会导致数据丢失(数据的精度丢失)或溢出,因此需要谨慎使用。

  •  自增自减运算符

放在变量的前面,我们叫做先++。 比如:++a

 放在变量的后面,我们叫做后++。 比如:a++

注意:不管是先++,还是后++。单独写在一行的时候,运算结果是一模一样的。

int a = 10;
a++;//就是让变量a里面的值 + 1
System.out.println(a);//11
++a;//就是让变量a里面的值 + 1
System.out.println(a);//12
  • 字符串的+操作

当+操作中出现字符串时,此时就是字符串的连接符,会将前后的数据进行拼接,并产生一个新的字符串。(字符串只有+操作,没有其他操作)

当连续进行+操作时,从左到右逐个执行的。

1 + "abc" + 1

结果:"1abc1"

1 + 2 + "abc" + 2 + 1

 结果:“3abc21” 

注意:第一步:1 + 2  在这个过程中,没有字符串参与的,所以做的是加法运算,结果为3。

第二步:3 + "abc"。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串"3abc"。

​第三步:"3abc" + 2。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串"3abc2"。

第四步:"3abc2" + 1。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串“3abc21”

String name = "hzttao";
System.out.println("我的名字是" + name);

结果: 我的名字是hzttao

当字符串跟变量相加的时候,实际上是跟变量里面的值进行拼接。

  • 字符的+操作

当+操作中出现了字符,会拿着字符到计算机内置的ASCII码表中去查对应的数字,然后再进行计算。

char c = 'a';
int result = c + 0;
System.out.println(result);//97
  • 赋值运算符

public class OperatorDemo6 {
    public static void main(String[] args) {
        //1.最为简单的赋值运算符用法
        int a = 10;//就是把10赋值给变量a
        System.out.println(a);

        //2.如果等号右边需要进行计算。
        int b = 20;
        int c = a + b;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(c);

        //3.特殊的用法
        a = a + 10;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(a);//20
    }
}
  •  扩展赋值运算符

+=、-=、*=、/=、%=

注意:扩展的赋值运算符中隐层还包含了一个强制转换。

以+=为例:a += b ,实际上相当于 a = (byte)(a + b);

  • 关系运算符

注意:关系运算符最终的结果一定是布尔类型的。要么是true,要么是false

           在写==的时候,千万不要写成=

  • 逻辑运算符

&:逻辑与(而且)

​   两边都为真,结果才是真,只要有一个为假,那么结果就是假。

|:逻辑或(或者)

​   两边都为假,结果才是假,只要有一个为真,那么结果就是真。

  • ^(异或)的使用

如果两边相同,结果为false,如果两边不同,结果为true

  • !(取反)的使用

是取反,也叫做非。

false取反就是true,true取反就是false(取反最多只用一个)

  • 短路逻辑运算符

分类:  &&   ||

&&:运算结果跟&是一模一样的,只不过具有短路效果。

||:运算结果跟|是一模一样的。只不过具有短路效果。

逻辑核心 :

​   当左边不能确定整个表达式的结果,右边才会执行。 

​   当左边能确定整个表达式的结果,那么右边就不会执行了。从而提高了代码的运行效率。

例如:

1.用户名正确  & 密码正确

 如果使用一个&,不管用户名是否正确都会去验证密码。

2.用户名正确  &&  密码正确

​如果用户名输入正确了,那么才会验证密码是否输入正确。 如果用户名输入错误了,那么就不会再去验证密码是否正确,最终的结果直接为false。从而提高了程序运行的效率。

  • 三元运算符

又叫做:三元表达式或者问号冒号表达式。

格式:关系表达式 ? 表达式1 :表达式2 ;

计算规则:

 计算关系表达式的值。

 如果关系表达式的值为真,那么执行表达式1。

 如果关系表达式的值为假,那么执行表达式2。

int a = 10;
        int b = 20;

        //格式:关系表达式 ? 表达式1 : 表达式2 ;
        //注意点:
        //三元运算符的最终结果一定要被使用。
        //要么赋值给一个变量,要么直接输出。
       int max =  a > b ? a : b ;
  •  运算符的优先级

在Java中涉及了很多的运算符,每一种运算符都有各自的优先级。但是这些优先级不需要记忆。

我们只要知道其中一点: 小括号优先于所有。

你可能感兴趣的:(学习,java,笔记)