java基础语法知识

本人大一,正在学习java中,文章有什么不对地方,欢迎大家交流指正,共同学习进步!🐵🐵🐵



一.注释

  1. 含义;在代码中,用于解释说明代码的部分就是注释,不参与程序的运行

  2. 注释特点:

  • 编译器不会把注释当做程序的一部分去解析, 执行的过程中碰到注释就会直接跳过(忽略)
  1. 注释的分类:
  • 单行注释: 使用的符号 //

  • 作用可以注释掉一行内容, //后面的内容都是注释部分

  • 其特点: 单行注释可以嵌套 // //

  • 多行注释: 使用的符号/* */ 两个符号中间的部分就是要被注释的内容

  • 其特点:多行注释不能嵌套多行注释

  • 文档注释:/** */

4.注释的作用:

  • 对程序起到解释说明的作用,至少要达到30%注释率

  • 可以对程序的设计思路进行描述

  • 对程序进行调试,可以通过注释的方式,快速的定位出错误代码的位置

  1. 代码示例:

    /*
        java程序中最基本的组成单位是类
        类的定义格式:
                   public class 类名{
                   
                   }
        下面是定义的HelloWorld类
    */
    public class HelloWorld{
        //main方法是程序的入口方法,代码的执行是从main开始的
        	public static void main(String[] args){
         //下面是一条输出语句
                	System.out.println("HelloWorld");
            }
    }
    

二.关键字

  1. 含义:在java语言中,是被赋予特殊含义的一些英文单词

  2. 图示基本的关键字:

在这里插入图片描述

  1. 特点:
  • 全部小写

  • 给使用标识符起名字的时候,一定不要和这些关键字重名

  • 有两个关键字是目前还没有被使用的, const, goto,不代表以后不会被使用

  • 常用的代码编辑器,对这些关键字有特殊的颜色标记,非常直观明白


三.常量

  1. 含义:在程序的执行过程中,其值不能发生改变的量
  2. 常量根据不同表现一些的分类:
  • 字面常量:写出常量的值,这个值就代表常量,如: 3, 1 0, 3.14
  • 字符常量:给一个字面常量设置符号,使用这个符号存储字面常量的值,此符号就是字符常量,如:PI = 3.14
  1. 根据不同数据类型分类:
  • 基本数据类型的常量: 简单数据类型

  • 整型常量: 所有整数: 例如: 1, -1, -10

  • 小数常量: 所有小数: 例如: 3.14, 13.14,5.20

  • 字符常量: 使用单引号括起来的单个字符就是字符常量,如:’a’, ‘A’, ‘$’,但注意单引号中只能放一个符号

  • 布尔常量: 用来表示真真假假的常量, true和false

  • 字符串常量: 使用双引号括起来字符就是字符串常量,比如: “A”,“abcd”

  • 空常量:表示空,不指向任何类型: null

  • 引用数据类型的常量: 使用基本数据类型组合成的类型就是引用数据类型

  • 整型常量的默认数据类型都是int类型,随便写出一个整数只要在 -2^31~ 2^31 -1之间,就是使用 int类型变量来存储这个整型数据

  • 如果写的整数超过了int类型范围,此时需要使用long类型变量存储,如何表示一个整型是long的类型: 在这个整型常量后加L;

  • 小数类型的常量默认都是double类型,如果想表示一个4个字节的小数常量,在小数常量后加一个f或F

  1. 代码示例:

    public class ConstantDemo{	
    	public static void main(String[] args){
           //整形常量				    
    			System.out.println(1);
                System.out.println(100);
                System.out.println(-10);
                System.out.println("--------------");
           //小数常量
                System.out.println(3.14);
                System.out.println(13.14);
                System.out.println(5.20);
                System.out.println("--------------");
    	  //字符常量
                System.out.println('a');
                System.out.println('A');
                System.out.println('B');
                System.out.println("--------------");
          //布尔常量
               System.out.println(true);
               System.out.println(false);
               System.out.println("---------------");
          //字符串常量
               System.out.println("A");
               System.out.println("abcd");
               System.out.println("---------------");
          //空常量不能用来打印, 只能用来给某个应用类型变量赋值
          //   System.out.println(null);
    	}
    }
    
    
  2. 代码运行结果:

在这里插入图片描述


四.数据类

  1. java是一种强类型语言:在定义变量的时候需要显示的说明变量在内存中所占空间大小,空间大小就是由数据类型决定,java提供丰富的数据类型
  2. 基本数据类型: 四类八种
byte 字节1个字节-128~127
short 短整型2个字节-2^15~ 2^15-1
int 整型4个字节-2^31~ 2^31-1
long 长整型8个字节-2^63~ 2^63-1
float 单精度小数4个字节负数:-3.402823E+38到-1.401298E-45 正数:1.401298E-45到3.402823E+38
double 双精度小数8个字节负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324到1.797693E+308
char 字符类型2个字节0~65535
boolean 布尔类型1个字节或4个字节true,false
  1. 代码示例:
public class ConstantDemo{	
	public static void main(String[] args){
        // 定义基本数据类型变量
		// 字节变量
		byte b = 127;
		System.out.println(b);
		// short类型变量
		short s = 100;
		System.out.println(s);
		// int类型变量
		int i = 200;
		System.out.println(i);
		// long类型变量 超过int类型范围,需要在long类型常量加L
		long l = 10000000000L;
		System.out.println(l);
		// float类型变量 java中所有小数常量默认都是double, float类型常量加F;
		float f = 3.14F;
		System.out.println(f);
		// double类型变量
		double d = 1.80;
		System.out.println(d);
		// char变量
		char c = 'A';
		System.out.println(c);
		// boolean类型
		boolean bo = true;
		System.out.println(bo);
		// 定义整数:一般使用int类型变量,小数使用double;
	}
}
  1. 代码运行结果:

在这里插入图片描述

  1. 类型转换
  • 当小范围的数据类型数据给大范围的数据的数据赋值的时候,会把小范围数据类型数据自动提升为大范围数据类型的数据,提升之后使用这个数据可以继续进行运算.运算的结果还是大范围数据类型的;

  • 数据类型范围比较:从小到大

    byte < short = char < int < long < float <double

  • 注意:byte,short,char在做运算的时候自动向上转型,转为int,两个int做运算不会自动向上转型

  • 大的范围类型的数据,要转为小范围类型的数据,就需要做显示(强制)转换;

  • 强制转换的格式: (小范围的数据类型)大范围的数据类型的数据

注意: 强制转换运行结果,可能想象的结果不一样,有可能会出现丢失

  1. 代码示例:
public class ConstantDemo{	
	public static void main(String[] args){
		//自动类型转换
			double d=20;
			System.out.println(d);
			byte b=10;	
			short s=b;
			int i=b;
			long l=b;
			float f=b;
			double h=b;			
		//强制类型转换				
			byte g=(byte)100;
			System.out.println(g);			
	}
}
  1. 代码运行结果:

在这里插入图片描述


五.变量

  1. 含义:在程序执行过程中,其值可以发生改变的量

  2. 定义变量的格式:数据类型 变量名 = 变量值(初始值);

  3. 使用的变量的原因:

  • 在程序运行过程中有一些值会发生变化,就需要一个东西来维护需要变化的数据,这个就是变量.
  1. 变量代表意义:
  • 变量真正代表是内存中一块存储空间,定义的变量名其实就是让这个变量名指向那块存储空间,通过变量名就可以操作存储空间.

注意事项:

  • 变量是有”作用域”的:作用域:就是变量起作用一个范围

  • 范围:变量在哪个大括号中定义,变量它的作用范围就是这个大括号括着的范围

  • 在同一个作用域中, 不能定义同名的变量

  • 变量必须先赋值,才能使用,不能使用一个没有赋值的变量

  • 变量的定义和变量赋值可以”分离”:可以先定义变量: 数据类型 变量名;再赋值: 变量名 = 值;

  • long类型的定义变量的时候,为防止整数过大,后面加L,float类型的定义变量的时候,为了防止类型的不兼容,后面加上F


六.标识符

  1. 含义:用于给java中包,类,变量,常量,接口,抽象类,枚举起名字用的字符序列

  2. 组成:英文字母,数字,美元符,下划线

  3. 标识符使用时注意事项:

  • 不要和关键字重名 如:class错误
  • 严格区分大小写 如:Class正确
  • 不要使用数字开头
  1. 命名约定:
  • 小驼峰命名法(方法名 变量):标识符是一个单词的时候,首字母小写;如:name

​ 标识符由多个单词组成的时候,第一个单词首字母小写,其余单词首字母大写;如:firstName

  • 大驼峰命名法(类 接口):标识符是一个单词的时候,首字母大写;如:Person

​ 标识符由多个单词组成的时候,每个单词首字母大写;如:GoodStudent


七.运算符

1.算数运算符

  1. 图示:
符号作用
+
*
/
%取余

注意事项:

  • /和%的区别:两个数据做除法,/取商,%取余
  • 整数操作只能得到整数,欲得小数,需要小数参与代码示例:
  1. 代码示例:
public class ConstantDemo{	
	public static void main(String[] args){
			int i=10;
			int h=2;
			System.out.println(i+h);
			System.out.println(i-h);
			System.out.println(i*h);
			System.out.println(i/h);
			System.out.println(i%h);
			//小数参与会得到小数的结果
			System.out.println(10.0/2);		
	}
}
  1. 代码运行结果:
    在这里插入图片描述

2.字符串的+操作

  1. 使用双引号引起来就是一个字符串数据类型数据,如果是字符串类型变量,存储的是字符串中那些字符在内存中地址,java中字符串类型名:String

  2. 字符串和其他类型数据可以拼接: 使用+符号

  • +表示拼接,拼接之后会自动转为字符串类型

  • 当"+“操作中,出现的字符串时,就是字符串连接符,否则就是算术运算;当连续出现”+"操作时,从从左到右逐个执行

  1. 代码示例:

    public class ConstantDemo {
    	public static void main(String[] args) {
    
    		//定义字符串类型变量
    		String name = "nick";
    		System.out.println(name);
    		String age = "20";
    		System.out.println(age);
    	
    		// 我的名字是:nick, 我的年龄是: 20
    		// + 在连接两个字符串的时候,表示拼接字符串
    		System.out.println("我的名字是:"+name);
    		System.out.println("年龄是:"+age);
    		double height = 1.85;
    		System.out.println("身高是:"+height);
    		System.out.println("我的名字是:"+ name +  "年龄是:"+age + "身高是:"+height);
    		// 字符串和其他类型拼后自动转为字符串类型
    		boolean b = true;
    		String str  = b+"";
    		System.out.println(str);
    	}
    }
    
  2. 代码运行结果:

在这里插入图片描述


3.字符的+操作

  1. 在计算机中,所有的数据是使用数字来进行表示,字符也不例外;
  2. 字符和计算机中数字是有一个对应关系的,每个一个字符都会对应一个数字
  • 从字符到数字转换的过程,称之为 “编码”;

  • 数字和字符转换是依赖一个编码表工具

  1. 代码示例:

    public class ConstantDemo {
    	public static void main(String[] args) {
    			int i=10;
    			char c='a';//a的值97
    			char d='A';//A的值65
    			char h='0';//0的值48
    			char e='B';//B的值66
    			System.out.println(i+'a');
    			System.out.println(i+'A');
    			System.out.println(i+'0');
    			System.out.println(i+'B');		
    	}
    }
    
  2. 代码运行结果:

在这里插入图片描述


4. 赋值运算符

  1. = 赋值运算符

  2. += 用来简化一个变量加上某个数之后重新又赋值自己(加后赋值)

  3. *= 用来简化一个变量乘以某个数之后重新赋值给自己(乘后赋值)

  4. /= 用来简化一个变量除以某个数之后重新赋值给自己 (除后赋值)

  5. %= 用来简化一个变量对某个取余之后,把余数赋值给自己(取余后赋值)

  6. -= 用来简化一个变量减去某个数之后重新又赋值自己(减后赋值)

    注意:扩展的赋值运算符底层隐含了强制类型转换

  7. 代码示例:

public class ConstantDemo {
	public static void main(String[] args) {
			int i=50;
			System.out.println(i);
			
			i+=i;//i=i+50
			System.out.println(i);
            i-=i;//i=i-50
			System.out.println(i);			
	}
}
  1. 代码运行结果:

在这里插入图片描述


5.自增自减运算符

  1. ++:自增运算符,作用:在某个变量基础自增1
  • ++在变量前,先对变量+1,再取出变量中值做运算;++在变量后,先取出变量的值做运算,再对变量+1; 但是无论++在前还是在后,变量最终都会+1
  1. –:自减运算符,作用:在某个变量基础自减1
  • –在变量前,先对变量-1,再去出变量中值做运算;–在变量后,先取出变量的值做运算,再对变量-1;但是无论–在前还是在后,变量最终都会-1

注意:上面是单独使用的情况。

当参与操作的时候,如果放在变量的后面,先拿变量参与操作,后拿变量做++或–

当参与操作的时候,如果放在变量的前面,先拿变量做++或–,后拿变量参与操作

  1. 注意事项的代码案例:
public class ConstantDemo {
	public static void main(String[] args) {
			int i=20;
			System.out.println("i:"+i);         
           //参与操作运算
			int h=++i;
            System.out.println("i:" +i);
			System.out.println("h:" +h);			
	}
}	
  1. 运行结果:
    在这里插入图片描述

6,关系运算符

  1. 用于比较两个数据是否相等,或者是大小关系的运算符, 这种运算返回值是布尔类型

  2. 分类:

  • 是否相等: == 等于, !=不等于

  • 大小关系:>, <, >=, <= 这四个只能比较基本数据类型数据(整数, 小数,字符)

  1. 以上几种关系运算符,返回结果都是boolean类型, 为真是true, 为假是false

7,逻辑运算符和短路逻辑运算符

  1. 逻辑运算符处理的数据:逻辑值, 处理的结果也是逻辑, 逻辑值就是boolean类型数据

  2. 分类:

  • 普通逻辑运算符: &, |, ^, !

  • 短路逻辑运算符: &&, ||

  1. &和&& 逻辑与, 两边时为真则为真,一边为假则为假

true & true true

true & false false

false & true false

false & false false

  1. | 和 || 逻辑或 两边有一边为真则为真, 两边同时为假才为假

true | true true

true | false true

false | true true

false | false false

  1. !逻辑非, 非真则为假,非假则为真

!true false

!false true

  1. ^逻辑异或 相同则为假, 不同则为真

true ^ true false

true ^ false true

false ^ true true

false ^ false false

7.&&和||短路运算符

  • &&和&执行的情况是一样的, || 和 | 执行情况也一样

  • &&的短路现象,只要&&运算符前面的逻辑为假,后面的表达式就不再运算了,所以以后如果是&&运算符连接的情况,把容易为假写前面.

  • ||的短路现象,只要||运算符前面的逻辑为真,后面的表达式就不在运算了,所以以后如果是||运算符连接的情况,把容易为真写前

  1. 代码案例:
public class ConstantDemo {
	public static void main(String[] args) {
			int i=10;
			int h=15;
			int u=20;
			//逻辑与&
			System.out.println((i>h)&(i>u));//false&false
            System.out.println((i>h)&(i<u));//false&true
			System.out.println((i<h)&(i>u));//true&false
			System.out.println((i<h)&(i<u));//true&true
			System.out.println("-----------------");
			//逻辑或
			System.out.println((i>h)|(i>u));//false|false
            System.out.println((i>h)|(i<u));//false|true
			System.out.println((i<h)|(i>u));//true|false
			System.out.println((i<h)|(i<u));//true|true
			System.out.println("-----------------");
			//逻辑异或
			System.out.println((i>h)^(i>u));//false^false
            System.out.println((i>h)^(i<u));//false^true
			System.out.println((i<h)^(i>u));//true^false
			System.out.println((i<h)^(i<u));//true^true
			System.out.println("-----------------");
			//逻辑非
			System.out.println(i>h);//false
			System.out.println(!(i>h));//true		
	}
}
  1. 代码运行结果:

在这里插入图片描述

8.三元运算符

  1. 格式:关系表达式?表达式1:表达式2;如:a>b?a:b;

  2. 规则:首先计算关系表达式的值,如果为真,表达式1就为运算结果,反之,则为表达式2为运算结果

  3. 代码示例:

public class ConstantDemo {
	public static void main(String[] args) {
			int i=10;
			int h=30;
            int j=i>h? i:h;
			System.out.println(j);
        //则控制台会输出30
	}
}

八.数据输入

  1. 键盘录入:在程序运行期间,可以让用户录入一些数据,存储到程序中变量里,在后面的程序使用录入的变量值进行运算;

  2. 使用步骤:

  • 导包, 在类的上面声明一条语句: import java.util.Scanner(导包)

  • 创建对象Scanner: Scanner sc = new Scanner(System.in);(sc为变量名) (创建对象)

  • 调用sc对象的方法nextInt,获取用户使用键盘录入整数: int i= sc.nextInt();(i为变量名) (接收数据)

  1. 代码案例:
// 1.导入键盘录入类所在的包
import java.util.Scanner;

public class ConstantDemo {
	public static void main(String[] args) {		
		// 2. 创建键盘录入对象
		Scanner sc = new Scanner(System.in);
		// 3.调用sc的nextInt方法,并定义变量接收用户输入的结果
		System.out.print("请输入一个整数:");
		int num = sc.nextInt();
		// 4.使用num中值
		System.out.println("用户录入的整数是:"+num);	
	}
}
  1. 代码运行:

在这里插入图片描述

  1. 代码案例:
//导包
import java.util.Scanner;

public class ConstantDemo {
	// 用户录入三个数据,求出这三个数的最大数
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入第一个整数:");
		int n1 = sc.nextInt();
		System.out.print("请输入第二个整数:");
		int n2 = sc.nextInt();
		System.out.print("请输入第三个整数:");
		int n3 = sc.nextInt();
		/*
		// 1.先求出任意两个数的最大值
		int max = n1 > n2 ? n1 : n2;
		// 2.拿前两个数的最大值和剩下的第三个数字比较,那个大那个就是这个
		// 三个中的最大值
		max = max > n3 ? max : n3;
        */
        //或者下面的方法一步到位
		int max = (n1 > n2 ? n1 : n2) > n3 ? (n1 > n2 ? n1 : n2) : n3;
		System.out.println("三个数的最大值是:"+max);
	}
}
  1. 代码运行:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值