JavaSE_[0_语法基础]_[1_数据类型与运算符]

本文详细介绍了Java编程的基础知识,包括数据类型(注释、关键字、常量、变量、标识符和类型转换)以及运算符(算数、赋值、自增自减、关系和逻辑运算符)。通过实例展示了各种运算符的用法,并提供了Scanner类用于数据输入的方法。此外,还特别强调了变量使用和类型转换时的注意事项。
摘要由CSDN通过智能技术生成

一.数据类型

1.注释分类

①单行注释

​ 格式:// 注释信息

②多行注释

​ 格式:/* 注释信息 */

③文档注释

​ 格式:/** 注释信息 */

2.关键字

关键字含义:被Java语言赋予了特殊含义的单词

关键字特点:1.关键字字母全部小写;2.常用代码编辑器对关键字有特殊的颜色标记

如下图所示:
在这里插入图片描述

3.常量

常量概述:在程序运行过程中,其值不可发生改变的量

常量类型
在这里插入图片描述

public class ConstantDemo{
	public static void main(String[] args){
		//字符串常量
		System.out.println("HelloWorld");
		System.out.println("黑马程序员");
		System.out.println("--------");
		
		//整数常量
		System.out.println(666);
		System.out.println(-88);
		System.out.println("--------");

		//小数常量
		System.out.println(13.14);
		System.out.println(-5.21);
		System.out.println("--------");

		//字符常量
		System.out.println('A');
		System.out.println('o');
		System.out.println('我');
		System.out.println("--------");

		//布尔常量
		System.out.println(true);
		System.out.println(false);
		System.out.println("--------");

		//空常量
		//空常量不能直接输出
		//System.out.println(null);
    }
}

注:在常规文本输出时,可能会出现无法输出中文的情况

这是因为JDK是国际版的,在编译的时候,如果没有用-encoding参数指定JAVA源程序的编码格式,则javac.exe首先获得操作系统默认采用的编码格式,也即在编译java程序时,若不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。

4.数据类型

4.1计算机存储单元

计算机存储设备最小信息单元叫“位(bit)”,又称之为“比特位”,通常用小写字母“b”表示。

计算机中最小的存储单元“字节(byte)”,**通常用小写字母“B”表示。

4.2数据类型

Java是强类型语言,不同的数据类型分配了不同的内存空间,它们表示的数据大小也不一样。
在这里插入图片描述

4.3数据类型内存占用和取值范围

在这里插入图片描述

5.变量

5.1变量概述

变量:在程序运行过程中,其值可以发生改变的量

从本质上讲,变量是内存中的一小块区域

5.2变量定义

格式: 数据类型 变量名 = 变量值;

范例:int a = 10;
在这里插入图片描述

5.3变量的使用

变量的使用:取值和修改值

取值格式:变量名

范例:a

修改值格式:变量名 = 变量值;

范例:a = 20;

5.4变量使用注意事项

①变量名不能重复

②变量需要初始化后才能使用

③long类型初始化,变量值后面带L,因为Java的整型变量默认int类型,赋值时可能会超范围

public class HelloWorld{
    public static void main(String[] args){
		/*错误示例
		long l = 10000000000;
		*/
        
		//正确示例
		long l = 10000000000L;
    }
}

④float类型初始化,变量值后面带F,因为Java浮点型变量默认double类型,赋值时类型不兼容

public class HelloWorld{
    public static void main(String[] args){
		/*错误示例
		float f = 13.14;
		*/
        
		//正确示例
		float f = 13.14F;
    }
}

6.标识符

6.1标识符概述

标识符:给类,方法,变量等起名字的符号

6.2标识符定义规则

①由==数字、字母、下划线(_)和美元符($)==组成

②不能以数字开头

③不能是关键字

④区分大小写

6.3常见命名约定

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

约定1:标识符是一个单词的时候,首字母小写

范例1:name

约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其它单词首字母大写

范例2:firstName

大驼峰命名法:类

约定1:标识符是一个单词的时候,首字母大写

范例1:Student

约定2:标识符由多个单词组成的时候,每个单词首字母大写

范例2:GoodStudent

7.类型转换

7.1类型转换的分类

自动类型转换

强制类型转换

7.2自动类型转换

把一个表述数据范围小的数值或者变量赋值给另一个表示数据范围大的变量

范例:double d = 10;

在这里插入图片描述

boolean是非数值类型,所以不参与

7.3强制类型转换

把一个表述数据范围大的数值或者变量赋值给另一个表示数据范围小的变量

格式:目标数据类型 变量名 = (目标数据类型)值或者变量;

范例:int k = (int) 88.88;

二.运算符

1.算数运算符

1.1运算符和表达式

运算符:对常量或者变量进行操作的符号

表达式:用运算符把常量或者变量连接起来符合java语法的句子

举例说明:

​ int a = 10;

​ int b = 20;

​ int c = a + b;

+:是运算符,并且是算法运算符

a + b:是表达式,由于+是算法运算符,所以这个表达式叫算术表达式

1.2算数运算符

在这里插入图片描述

public class OperatorDemo01{
    public static void main(String[] args){
        /*
        整数相除只能得到整数,想要得到小数,必须要有浮点数参与
        */
        Syetem.out.println(6/4);
        
        Syetem.out.println(6.0/4);
    }
}

1.3字符的"+"操作

在这里插入图片描述

public class OperatorDemo01{
    public static void main(String[] args){
		//定义两个变量
        int i = 10;
        char c = 'A';//'A'的值是65
        System.out.println(i + c);
        char c = 'a';//'A'的值是97
        System.out.println(i + c);
        char c = '0';//'A'的值是48
        System.out.println(i + c);
        
        //char ch = i + c;
        //char类型会被自动提升为int类型
        int j = i + c;
        System.out.println(j);
        
        //int k = 10+13.14
        double d = 10 + 13.14;
    }
}

1.4字符串的"+"操作

public class OperatorDemo02{
    public static void main(String[] args){
        System.out.println("it" + "heima"); // itheima
        System.out.println("itheima" + 666); // itheima666
        System.out.println(666 + "itheima"); // 666itheima
        
        System.out.println("黑马" + 6 + 66); // 黑马666
        System.out.println(1 + 99 + "年黑马"); // 100年黑马
    }
}

在这里插入图片描述

2.赋值运算符

public class OperatorDemo02{
    public static void main(String[] args){
        int i = 10;
        System.out.println("i:" + i);// i:10
        
        // += 把左边和右边的数据做加法操作,结果赋值给左边
        i += 20;
        /* 	伪等价于
        i = i + 20;
        */
        System.out.println("i:" + i);// i:30
        
        //注意:+=底层隐含了强制类型转换
        short s = 10;
        s += 20;
        /*
        s = s + 20; // 会报错!精度阶段误差
        s = (short)(s + 20);
        */
        System.out.println("s:" + s);// i:30
    }
}

在这里插入图片描述

3.自增自减运算符

public class OperatorDemo{
    public static void main(String[] args){
        int i = 10;
        System.out.println("i:" + i);// i:10
        
        /*单独使用
        i++;
        System.out.println("i:" + i);// i:11
        ++i;
        System.out.println("i:" + i);// i:12
        */
        
        //参与操作使用
        int j = i++;
        System.out.println("i:" + i);// i:10
        System.out.println("j:" + j);// i:11
        int j = ++i;
        System.out.println("i:" + i);// i:11
        System.out.println("j:" + j);// i:11
    }
}

在这里插入图片描述

4.关系运算符

在这里插入图片描述

5.逻辑运算符

5.1基本逻辑运算符

在数学中,一个数据x,大于3,小于6,我们可以这样进行表示:3<x<6

在Java中,需要把上面的式子进行拆解,再进行合并表达。

  • 拆解为:x>3x<6

  • 合并后:x>3&&x<6

&&其实是一个逻辑运算符,用来连接关系表达式的运算符

也可以直接连接布尔类型的常量或者变量

在这里插入图片描述

5.2短路逻辑运算符

在这里插入图片描述

6.三元运算符

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

范例:a > b ? a : b;

计算规则:

​ 首先计算关系表达式

​ 如果值为true表达式1的值就是运算结果

​ 如果值为false表达式2的值就是运算结果

public class OperatorDemo{    
	public static void main(String[] args){        
		//定义连个变量        
		int a = 10;        
		int b = 20;        
		
		//获取两个数据中的较大值        
		int max = a > b ? a : b;   
		     
		//输出结果        
		System.out.println("max:" + max);    
	}
}

案例:三个和尚

public class OperatorDemo{    
	public static void main(String[] args){        
		//1.定义三个变量保存和尚身高(cm)        
		int height1 = 150;        
		int height2 = 210;        
		int height3 = 165;    
		            
		//2.用三元运算符获取前两个和尚的身高较高值用临时变量保存起来       
		int tempHeight = height1 > height2 ? height1 : height2;   
		
		//3.用三元运算符获取临时身高和第三个和尚身高的较高值,用最大身高变量保存起来        
		int maxHeight = tempHeight > height3 ? tempHeight : height3;                
		
		//4.输出结果        
		System.out.println("maxHeight:" + maxHeight);    
	}
}

三.数据输入

Scanner使用的基本步骤

在这里插入图片描述

/*	1.导包:		
import java.util.Scanner;	
2.创建对象:		
Scanner sc = new Scanner(System.in);	
3.接收数据		
int x = sc.nextInt();*/	
import java.util.Scanner;

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

		//接受数据        
		int x = sc.nextInt();     
		  
		//输出数据        
		System.out.println("x:" + x);    
	}
}

案例:三个和尚

import java.util.Scanner;

public class ScannerTest{    
	public static void main(String[] args){        
		//1.创建对象        
		Scanner sc = new Scanner(System.in);     
		   
		//2.键盘录入三个身高并分别赋值给三个变量        
		System.out.println("请输入第一个和尚的身高:")int height1 = sc.nextInt();                	
		System.out.println("请输入第二个和尚的身高:")int height2 = sc.nextInt();               
		System.out.println("请输入第三个和尚的身高:")int height3 = sc.nextInt();        
		        
		//3.用三元运算符获取前两个和尚的身高较高值,用临时变量保存起来        
		int tempHeight = height1 > height2 ? height1 : height2; 

		//4.用三元运算符获取临时身高和第三个和尚身高的较高值,用最大身高变量保存起来        
		int maxHeight = tempHeight > height3 ? tempHeight : height3;    
		            
		//5.输出结果        
		System.out.println("这三个和尚中身高最高的是" + maxHeight + "cm");    
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值