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

Java语言学习Day02

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

Java语言学习Day02

基础知识 1.变量

数据类型:Java是一种强类型的编程语言
声明周期:有效范围。Java提供了垃圾回收机制

2.基本类型

(1)整型 byte 1、short 2、int 4、long 8

  • Java采用补码的方式存储数据
  • 4中不同的表示方法:十进制、0八进制、0x十六进制、0b二进制
  • 在使用字面量,Java中的整数默认类型就是int,如果想表示long则在数值末尾添加l/L,一般建议使用L
    (2)浮点数:float 4、double 8
  • 在Java中浮点数无法精确存放,除非使用Java提供的类BigDecimal(不允许使用等值==判断,应该使用Math.abs(a-b)<1e-6
  • 字面量的表示方式:十进制123.0、科学计数法1.23e2,注意e后面只能是整数(数值末尾使用f/F表示float,使用D/d表示double)
    (3)字符类型 char char c = ‘中’;注意是单引号,不是双引号
  • Java中字符采用Unicode编码字符集,2B对应的整数为0-65535
  • 字符类型的变量可以当作整数使用
  • ‘0’ < ‘A’ < ‘a’
  • Java中提供了转义字符,以反斜杠开头
    – ddd 1-3位的8进制数对应的字符
    – uxxxx 1-4位的16进制对应的字符
    – ‘表示单引号,注意不允许’’’
    –’'表示双引号
    –表示反斜杠字符
    (4)布尔类型boolean
  • 只有两个数值:true表示真,false表示假
  • 在Java中整型数据和boolean值之间没有转换关系
int k = 123;
//将十进制数转换为8进制
System.out.println("0"+Integer.toOcatlString(k));
//将十进制数转换为16进制
System.out.println("0x"+Integer.toHexString(k));
//将十进制数转换为2进制
System.out.println("0"+Integer.toBinaryString(k));

3.基本数据类型转换

小转大自动转,大转小需强转 (窄化操作)

//小转大
byte b1 = 123;
long k1 = b1;
double k2 = k1;

//大转小
double d1 = 123.456;
long k1 = d1;//语法错误Type mismatch:cannot convert from double to long
long k2 = (long)d1;

强制类型转换的语法:(目标类型)变量
注意:Boolean类型和数值类型之间没有任何对应关系,所以进行强制类型转换会报语法错误

浮点数的特殊处理
针对浮点数系统默认的是double类型,所以123.456系统识别为double类型,但是变量f1声明为float,所以这里需要进行数据类型转换或者进行特殊声明

double d1 = 123.456
// long k1 = d1;
long k1 = (long)d1;//强制类型转换
System.out.println(k1);//使用强制类型转换可能会导致精度丢失问题

//针对浮点数的特殊处理
//float f1 = 123.456;语法报错,Type mismatch:cannot convert from double to float
float f1 = 123.456f; //d/F表示单精度浮点数、d/D表示双精度
float f2 = (float)123.456;
4.符合数据类型

符合数据类型包括:类class、接口interface、数组
特殊值null,在运行时并没有对应的类型,但是它可以被转换为任何复杂类型,表示没有存储数据,但是不能赋值给简单类型
注:复合类型的默认值就是null空指针

public class Test{
	public static void main(String[] args){
		Object b;//定义变量b为复合类型Object,Object类就是系统预定义
		//System.out.println(b);这里报错是因为要求临时变量必须先定义后使用,必须先赋初值后使用
		b = null;
		System.out.println(b);
	}
}
5.常量

常量就是值在程序执行的期间其值不能发生变化的数据

final double PI = 3.1415;
PI = PI + 1;//语法报错是因为final表示PI是常量,不允许修改
System.out.println(PI);
6.表达式

表达式就是运算符、操作数以及方法的调用序列,用来说明某个计算过程并返回计算结果
基本运算符可以分为:算术运算符、关系运算符、位运算符、条件运算符

  • 算术运算符:+ - * / % ++ –
  • 关系运算符:> >= < <= ==等值 !=不等于
  • 逻辑运算符:&&与运算,表示并且的关系;||或运算,表示或者的关系;!非运算,表示不是,中点在于计算过程中支持短路操作
  • 位运算:&与 |或 ^异或 ~按位取反 <<左移位 >>右移位 >>>,基本不做要求,位运算不支持短路操作
  • 赋值运算符:= += -= *= /= %=
  • 三目运算:(表达式1?表达式2:表达式3)
7.算术运算符
//+ - * /
//特殊:整除计算,参与计算的双方都是整数,则计算为整除计算,结果不会有小数部分
//例如:10/3=3,不是3.33333。如果是10./3返回值就是3.3333...,因为10.表示浮点数,不是整数

//%取余[取模]
//10%3 = 1实际上就是10除以3的余数

double k = 10.12;
System.out.println(k%3);//输出结果为1.12,小数部分不参与除法计算

//++和--是单目运算符
//i++计算结果等价于i=i+1,i--结果等价于i=i-1;

//有两种写法:以++为例,--写法实际相同
//i++是先获取i的值,然后针对i执行加1操作
int age = 99;
System.out.println(age++); //输出值为99
System.out.println(age); //没有任何运算符,但是输出值为100

//++i是先对i执行加1操作,然后再获取i存储的数据
int age1 = 99;
System.out.println(++age); //输出值为100,是因为先执行加1再获取数据
System.out.println(age);//100

今天就先学到这里,后续会更新学习内容!

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

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

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