栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaSE-Day02

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaSE-Day02

1.数据类型 1.1 数据类型分类

Java中的数据类型分为基本数据类型和引用数据类型

基本数据类型:

是Java语言中内置的类型,分别是整数类型、浮点类型、字符类型、布尔类型。这四类基本类型是最简单、最基础的类型。

引用数据类型:

是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型。不过现在我们先要学习的是基本类型!

1.2 基本数据类型表示

整数类型:

十进制表示方式:正常数字 如 13、25等

二进制表示方式:以0b(0B)开头 如0b1011 、0B1001

八进制表示方式:以0开头 如01、07、0721

十六进制表示方式:以0x(0X)开头 数字以0-9及A-F组成 如0x23A2、0xa、0x10

浮点数类型:

如1.0、-3.15、3.168等

布尔类型:

true,false

字符类型:

如'a','A', '0', '家'

注意:字符必须使用’’ 包裹,并且其中只能且仅能包含一个字符。

1.3 基本数据类型占用大小和表示范围
四类八种占用字节数数据表示范围

   整型

(精确)

byte1-128~127
short2-32768~32767
int(默认)4-2147483648~2147483647
long8-2^63~2^63-1

   浮点型

(不精确)

float4-3.403E38~3.403E38
double(默认)8-1.798E308~1.798E308
字符型char2表示一个字符
布尔型bollean1只有两个值true与false
2.常量和变量 2.1常量

定义:不变的数据量

分类:

 2.2变量

1.定义:在程序中可以变化的量

2.格式:数据类型 变量名 = 数据值     例:int a = 100

public static void main(String[] args) {
		// byte类型变量
		byte b = 100;
		System.out.println(b);
		
		//short类型变量
		short s = 100;
		System.out.println(s);
		
		//int类型变量
		int x = 100;
		System.out.println(x);
		
		//long类型变量
		long num = 100L;
		System.out.println(num);
		
		//float类型变量
		float f = 2.0F;
		System.err.println(f);
		float f2 = 2.0f;
		System.out.println(f2);
				
		//double类型变量
		double d = 3.14;
		System.out.println(d);
		double d2 = 3.14d;
		System.out.println(d2);
		double d3 = 3.14D;
		System.out.println(d3);
		
		//char类型变量
		char c = 'a';
		System.out.println(c);
		
		//boolean类型变量
		boolean flag = true;
		System.out.println(flag);
	}

 变量定义后可以不赋值 使用时再赋值 不赋值不能使用 使用前必须先赋值

public static void main(String[] args) {
		int x;
		x = 20;  //下面要使用变量x x必须先赋值
		System.out.println(x);
}

 变量不能重新定义 并且赋值时类型要匹配

public static void main(String[] args) {
	int x = 20;  // 定义一个int类型变量x
	//int x = 30;  //编译报错, 不能重复定义一个x变量
	x =30; // 正确,表示给x重新赋值
	//x = "abc"; //编译报错,赋值时,类型要匹配
}

 变量使用时有作用域的限制

public static void main(String[] args) {
		int a= 100;
		{
			int b = 200;
			System.out.println(a);
			System.out.println(b);
		}
		//System.out.println(b);  // 编译报错,这里不能访问到变量b
	}
3.数据类型转换 3.1数据类型转换

数据类型转换分为自动类型转换和强制类型转换

自动类型转换:小类型——>大类型

           格式:范围大的数据类型 变量 = 范围小的数据类型值

强制类型转换:大类型不能转换为小类型 但通过强制类型转换可以实现

            格式:范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值

转换规律:

各种数据类型按照数据范围从小到大依次列出:范围小的类型向范围大的类型提升

byteint‐‐>long‐‐>float‐‐>double

byte、short、char 运算时直接提升为int

3.2类型转换案例 

1.计算一年有多少毫秒(一年按365天计算)

public class Demo01 {
    public static void main(String[] args) {
        long result = 365L*24*60*60*1000;
        System.out.println(result);
    }
}

2.整数的除法运算 

public class Demo02 {
    public static void main(String[] args) {
        int x = 10;
        int y = 4;

        int result = x/y;
        System.out.println(result); // 2

        double result2 = x/y;
        System.out.println(result2); //2.0;

        double result3 = (double)x/y; // 把x强转成double
        System.out.println(result3); //2.5

        double result4 = 1.0*x/y;
        System.out.println(result4);
    }
}

3.浮点数 四舍五入取整 四舍五入取两位小数

public class Demo03 {
    public static void main(String[] args) {
        double x = 3.4665;
        //四舍五入取整数
        int result = (int)(x+0.5);
        System.out.println(result);

        // 四舍五入取保留两位小数
        double result2 = (int)(x*100+0.5)/100.0;
        System.out.println(result2);
    }
}
4.字符集 4.1常见字符集

ASCII字符集&编码

ASCII一共定义了128个字符,包括33个控制字符,和95个可显示字符。大部分的控制字符已经被废弃。

GB2312字符集&编码

GB2312 或 GB2312–80 是中华人民共和国国家标准简体中文字符集,共收录6763个汉字,同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个字符,基本满足了汉字的计算机处理需要。它所收录的汉字已经覆盖中国大陆99.75%的使用频率,但对于人名、古汉语等方面出现的罕用字和繁体字,GB2312不能处理

 GBK字符集&编码

汉字内码扩展规范,称GBK,GBK的K为汉语拼音Kuo Zhan(扩展)中“扩”字的声母

GB2312只收录6763个汉字,有不少汉字,如部分在GB2312推出以后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕的“镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内。GBK对GB 2312-80进行扩展,GBK对GB 2312-80进行扩展, 总计拥有23940个码位,共收入21886个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号883 个。

Unicode字符集

Unicode(中文:万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。其中最常用的编码为utf-8

4.2几个特殊意义的字符

转义字符  
’ 表示 单引号
\  表示  

n   换行
t   tab  制表符

4.3练习

在控制台输出完成水果超市价格表如下图

public class Demo04 {
    public static void main(String[] args) {
        System.out.println("水果编号t水果名称t水果单价t计价单位t品质");
        System.out.println(1+"t榴莲t"+32.0+"t公斤t"+"A");
        System.out.println(2+"t苹果t"+6.5+"t公斤t"+"B");
        System.out.println(3+"t猕猴桃t"+6.0+"t公斤t"+"A");
    }
}
5.运算符 5.1概述

对常量和变量进行操作的符号称为运算符

5.2分类

算术运算符 赋值运算符 关系运算符 逻辑运算符 三元运算符

5.2.1算术运算符

public class Demo05 {
    public static void main(String[] args) {
        int result1  = 1+2;
        int result2 = 3-1;
        int result3 = 3*2;
        int result4 = 3/2;
        int result5 = 3%2;  // 取模 (余数) -------> 判断能不能整除

        System.out.println(result1);     //3
        System.out.println(result2);    //2
        System.out.println(result3);    //6
        System.out.println(result4);    //1
        System.out.println(result5);    //1
        
        int x = 100;
        int y = 3;
        int result6 = x+y;
        int result7 = x/y;
        int result8 = x%y;
        System.out.println(result6);  //103
        System.out.println(result7); //33
        System.out.println(result8); // 1
        
        // ++(递增)   --(递减)
        int a = 1;
        //a++;
        ++a;
        System.out.println(a);  //3
    }

++a:先加1再赋值

a++:先赋值再加1

public static void main(String[] args) {
		int a = 1;
		//int b = ++a;//a:2 b:2 注意:++在前表示先计算++  再赋值
		int b = a++;//a:2 b:1 注意:++在后表示先赋值  再计算++
		System.out.println(a);
		System.out.println(b);
}
5.2.2赋值运算符

所谓赋值运算符,就是将符号右边的值,赋给左边的变量

public static void main(String[] args) {
		int a = 5;
		int b = 2;
		
		a+=2; // a= a+2;
		System.out.println(a); //7
		
		a-=1; // a = a-1;
		System.out.println(a); //6
		
		a*=2; // a = a*2;
		System.out.println(a); //12
		
		a/=2; a = a/2;
		System.out.println(a); //6
		
		a%=2; a= a%2;
		System.out.println(a); //0
	}
5.2.3关系运算符

关系运算符,是两个数据之间进行比较的运算

运算结果都是布尔值true(正确的,真的,满足条件的) 或者false(错误的,假的,不满足条件的)

public static void main(String[] args) {
int a = 2;
int b = 1;
System.out.println(b>a);  // true
System.out.println(b>=a);  // true
System.out.println(b
5.2.4逻辑运算符

逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值true 或者false

public static void main(String[] args) {

	

}

短路功能的&&和||

&& 短路与

短路特点:符号左边是false,右边不运算

|| 短路或

短路特点: 符号左边是true,右边不运算

结论:实际开发中都是使用短路与&&和短路或||,因为效率更高

int x = 5;
int y = 3;
		
int a = 10;
int b =8;

System.out.println(x 
 5.2.5三元运算符 

三元运算符格式:

数据类型 变量名 = 布尔类型表达式?值1:值2

三元运算符计算方式:

布尔类型表达式值是true时,三元运算符整体值为值1,赋值给变量。

布尔类型表达式值是false时,三元运算符整体值为值2,赋值给变量。

int a = 5;
int b = 8;
		
int result = a 

 练习:交换两个变量的值

// 使用临时变量
public static void main(String[] args) {
       int a = 1;
       int b = 2;

       int temp = a;
       a = b;
       b = temp;

        System.out.println(a);
        System.out.println(b);
    }

//不使用临时变量
public static void main(String[] args) {
       int a = 1;
       int b = 2;

       int sum = a+b;
       a = sum - a;
       b = sum - a;
       System.out.println(a);
       System.out.println(b);
    }

//采用和的方式
public static void main(String[] args) {
       int a = 1;
       int b = 2;

       b = a+b-(a=b);
       System.out.println(a);
       System.out.println(b);
    }
 5.2.6键盘录入scanner类

使用步骤:

1.定义变量,并相应类型的对象赋值给变量:

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

如:Scanner scanner = new Scanner(System.in);

2.导包:

使用import导包,告诉JVM从哪里去找Scanner类

3.调用Scanner对象方法:

变量名.方法名();

import java.util.Scanner;
public class Demo24_键盘输入 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt();  //代码执行到这一步时,会阻塞(停住) 等着键盘从控制台输入,输入完成后回车,把输入的值赋给了x
		System.out.println("键盘输入的值为:"+x);
		double y = sc.nextDouble();
		System.out.println("键盘输入的浮点数值为:"+y);
	}
}
5.2.7位运算符

任何信息在计算机中都是以二进制的形式保存的,”&”、“|”、“^”除了可以作为逻辑运算符也可以作为位运算符。位运算是直接对二进制进行运算。

& 参加运算的两位数都为1,&运算符结果才为1,否则就为0。

| 参与运算的两位都为0,|运算的结果才为0,否则就为1。

左移<<

右移>>

最快的运算是位运算

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/713153.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号