JAVA之基础入门

JAVA入门

注释

注释定义

解释说明的文字

作用

1.对你的代码进行解释说明
2.便于后期维护

注意

1.注释的内容不会被编译
2.如果出现乱码的问题–>修改文件的编码格式为gbk

分类

1.单行注释:
作用域: 作用于当前行
嵌套: 可以嵌套单行注释,不可以嵌套多行注释和文档注释
位置: 行的上面,或者行尾
2.多行注释:
作用域:多行内有效
嵌套: 可以嵌套单行注释,不可以嵌套多行注释和文档注释
位置: 类的上面或者方法的上面
3.文档注释:
作用域:多行内有效
嵌套: 可以嵌套单行注释,不可以嵌套多行注释和文档注释
位置: 类的上面或者方法的上面

文档注释可以存在于类的api文档中

标识符

java中一切起名字 的地方都是标识符

命名规则

1.只能由数字,字母,下划线,美元符号$任意组合而成,但是数字不能开头
2.标识符是严格区分大小写
3.关键字不能作为标识符使用

​ 关键字:再java中有一些具有自己的使用方式|使用途径|作用,这些词就是关键字 都是小写|工具中都有特殊颜色
​ 保留字:java中有一些词将来有可能有自己使用用途或特殊含义,这些词就是保留字 goto const
​ 一般再说关键字时候也包含保留字

命名规范

1.见名之意
2.驼峰命名
包: 全部小写
多级包:每个级别之间使用.进行分隔
类|接口: 每个单词g首字母大写
方法|变量: 第一个单词全部小写,第二个单词开始首字母大写
常量: 全部大写

变量

再程序执行过程中,其值可以发生改变的量,在内存中开辟一块空间,存储指定类型的数据

语法

java是一个强类型的语言 :声明变量的时候就要先确定类型

常用的数据类型: int整数 double小数 String字符串"" boolean布尔类型 char字符型’’

1.声明的同时赋值
数据类型 变量名 = 赋值;
2.先声明 后赋值
数据类型 变量名; //声明
变量名=赋值; //赋值

3.同时声明多个变量
=是java中唯一一个自右向左运算的符号

变量关注的点

​ 1.数据类型
​ 2.变量名(标识符的规则|规范)
​ 3.值
​ 4.作用域 {}

​ 使用变量时需要注意的问题(1.输出 2.赋值 3.运算):
​ 1.变量必须已声明
​ 2.变量必须已赋值

变量的分类

​ 1.成员变量|实例变量 :只声明不赋值存在默认值,类中方法外|语句块外定义的变量
​ int->0 double->0.0 字符串->null char->’ ’ boolean->false
​ 2.局部变量: 使用前必须声明并且赋值
​ 方法中语句块中定义的变量就是局部变量

常量

在程序运行过程中其值不能发生改变的量

分类

  1. 字面值常量

    • 整数常量
    • 小数常量
    • 布尔常量
    • 字符常量
    • 字符串常量
  2. 自定义常量

    被final修饰的变量为常量

数据类型

基本数据类型

四类八种

整形

表示形式 表示名称 范围 大小(字节) 位(bit)
字节型 byte [-128,127] 1 8
短整型 short [-32786,32767] 2 16
整形 int ±21亿 4 32
长整形 long 很大 8 64

浮点型

表示形式 表示名称 精度 大小(字节) 位(bit)
float 单精度 小数点后7位 4 32
double 双精度 小数点后15位 8 64

字符型

表示形式 表示名称 精度 大小(字节) 位(bit)
char 字符型 [0,65535] 2 16

字符型的表示形式:
''中给单个字符 ‘1’ ', ’ ’
0~65535 根据Unicode字符集进行确认 去 ascii

当字符型参与运算的时候,先转为10进制的数再去参与运算

布尔型

表示形式 表示名称 位(bit)
boolean 布尔 1

引用数据类型

使用步骤

  1. 导包,import 关键字

  2. 创建引用数据类型的变量|引用

    引用数据类型 变量名 = new 引用数据类型();

  3. 使用功能

    变量|引用.功能名字();

  4. 关闭资源

    变量.close();

    一定要在当前类中使用完毕之后再去关闭,否则重新开启也不能使用了

Scanner类

  1. 导包:import java.util.Scanner;

  2. 创建引用数据类型的变量|引用

  3. 变量|引用.功能名字();

    功能名字

    next类型:nextInt() |nextByte() | nextDouble()

    next() 接收字符串类型的数据
    以上一系列的next功能,从有效字符开始接收,遇到空格,tab接不接收了,直到遇到enter结束功能 enter不会接收
    nextLine() 接收一整行的数据,接收enter结束,enter会被接收

  4. 关闭资源

    import java.util.Scanner;
    public class Scanner03{
    	/**主方法*/
    	public static void main(String[] args){
    		//1.导包
    		//2.创建Scanner的变量|引用
    		Scanner sc=new Scanner(System.in);
    		//3.使用功能
    		//int i=sc.nextInt();
    		//int i=sc.nextByte();
    		
    		String s=sc.next();
    		System.out.println("next()="+s);
    		
    		//处理系列next功能遗留的enter键
    		sc.nextLine();
    		
    		String str=sc.nextLine();
    		System.out.println("nextLine()="+str);
    		
    		//关闭
    		sc.close();
    		//Scanner sc2=new Scanner(System.in);
    		//String sss=sc2.next();
    	}
    	
    }
    

Random类

产生随机数

功能函数:

  • nextInt() 随机产生一个int范围内的随机数
  • nextInt(int n) 随机产生一个 [0,n)整数
  • nextDouble() 产生[0,1)之间的随机小数

产生给定范围内的随机数

[min,max) ran.nextInt(max-min)+min;
[min,max] ran.nextInt(max-min+1)+min;

接口

数组

数据类型转化

从小到大排序

​ byte -> short-> int -> long-> float ->double

  1. boolean不参与数据类型转化

  2. 自动数据类型转化

    从小范围类型的数据->大范围类型的数据

    ​ 多个类型的值参与运算,最终结果的数据类型默认自动提升为最大的参与运算的数据的类型
    ​ 多个数据的类型,如果只有byte,short,char任意组合,最终的结果会自动提升成为int
    ​ byte,short,char赋值,只要是在其范围内的常量值都可以成功赋值

  3. 强制数据类型转化

    小范围数据类型 变量名 = (小范围数据类型)大范围类型的数据;

    可能会有损失

转义字符

使用转义字符让一些具有特殊含义的字符表示其本身
转义字符从\开始 +要转义的字符

"

\

\t:制表符 : 一个制表符代表8个空格 一个汉字占2个空格,一个字母占1个空格

​ 如果制表符位置前面的内容满足制表符的整数倍,重开一个制表符位,如果不满,就不全一整个制表符位

\n:换行符

\b:退格符

\r:回到行首

运算符

操作数: 运算符左右两边的数就是操作数
表达式: 运算符连接左右两边的操作数叫做表达式
语句: ;代表一个语句的结束
一元运算符|单目运算符:操作数只有一个的运算符 ++ –
二元运算符|双目运算符:操作有两个 + - * /
三元运算符|三目运算符:条件运算符

运算符优先级

() 最高

单目 算数 位 关系 ,逻辑 三目 后赋值

算数运算符

+,- *,/,%,++,–

取余%:取余数 当第一个操作数小雨第二个操作数的时候,值就为第一个操作数

++ –
a++ ==> a=a+1;
++a ==> a=a+1;
1.操作自己:++/–只影响自己的值,不影响其他值
++操作数的前面还是后面结果都是自身+1
–操作数的前面还是后面结果都是自身-1

​ 2.操作别人:1)参与运算 2)赋值 3)打印
​ +±-在操作数的前面,都是先自身+1|-1然后在参与运算
​ +±-在操作数的后面,都是先参与运算,再自身+1|-1

​ 一个变量在同一时刻只能指向一个值

赋值运算符

基础赋值运算符

=

  • 优先级最低
  • 唯一一个自右向左运算

扩展赋值运算符

+= -= *= /= %=

a+= 1 ->a=a+1

  • 优点

    提高执行效率,否则编译器也会把数据优化成为扩展赋值运算符的形式,能够成倍提高效率
    帮强制类型转换

  • 缺点

    不直观

比较运算符

也叫关系运算符,结果都是boolean类型

< > >= <=

​ 只能比较byte,short,int,long,float,double,char

== !=

​ 可以使用基本数据类型|引用数据类型

逻辑运算符

操作数是值为boolean类型的表达式
& 与: 两边都为true结果才为true,一个为false结果为false
| 或: 一个为ture就是true,两个都为flase才是false
! 非: 取反 !true–>false
^ 亦或: 两个操作数相同为false,不同为true

​ 短路的作用:如果第一个操作数就已经能够决定最终的结果了,第二个表达式不再执行

​ &&

​ ||

public class Operator12{
	/**主方法*/
	public static void main(String[] args){
		System.out.println("---------------&---------------");
		System.out.println(true & false);  //false
		System.out.println(true & true);	//true
		System.out.println(false && true);	//false
		System.out.println(false & false);  //false
		System.out.println("---------------|---------------");
		System.out.println(true | false);  //true
		System.out.println(true | true);	//true
		System.out.println(false | true);	//true
		System.out.println(false | false);  //false
		
		System.out.println("---------------!---------------");
		System.out.println(!false);  //true
		System.out.println(!true);	//false
		
		System.out.println("---------------^---------------");
		System.out.println(true ^ false);  //true
		System.out.println(true ^ true);	//false
		System.out.println(false ^ true);	//true
		System.out.println(false ^ false);  //false
		
		//System.out.println(3>4 & 3/0==0);	//true
		System.out.println(3>4 && 3/0==0);	//true
	}
	
}

常使用短路

条件运算符

格式

​ 条件表达式 ? 值1: 值2;

注意事项

  1. 条件表达式值为boolean类型的表达式 true,false
  2. 如果结果为true,最终的结果取值1
  3. 如果结果为false,最终的结果取值2
  4. 最终一定可以得到一个结果
public class Operator01{
	/**主方法*/
	public static void main(String[] args){
		//判断两个数的最大值
		int a=5;
		int b=7;
		int result= a>b ? a : b;
		System.out.println(result);
		
		//求一个值是否为偶数  
		String str=a % 2 == 0 ? "偶数" : "奇数";
		System.out.println(str);
		
	}
	
}

位运算符

​ 把操作数转为二进制,然后根据不同的位运算符的逻辑对二进制的操作数进行运算,最后得到的结果,转为十进制

  1. & : 两个2进制的操作数,同一位数的两个数如果有一个为0结果就为0,两个都为1才是1

  2. | : 两个2进制的操作数,同一位数的两个数如果有一个为1,两个都为0才是0

  3. ^ : 两个2进制的操作数,同一位数的两个数如果相同为0,不同为1

  4. << 左移 :把第一个二进制的操作数向做移动第二个操作数个位数,空余的位数补0,最终得到二进制的值–>转为十进制
    m << n ==> m*2^n

  5. 右移 :把第一个二进制的操作数向右移动第二个操作数个位数,移动出的位数不要,只保留剩下的位数的值–>转为十进制
    m >> n ==> m/2^n

猜你喜欢

转载自blog.csdn.net/qq_39355292/article/details/94553882