零基础学Java(数据类型,类型转换,运算符)

数据类型

数值型

整数

赋值方式
  • 十进制(最常用的)

int num = 12;

  • 二进制(jdk1.7之后才有的)

    以0b,0B开头,后跟一个二进制数

  • 八进制

以0开头,后跟一个八进制数

  • 十六进制

以0x,0X开头,后跟一个十六进制数。

10->a…15->f

为了方便阅读,会以_对整数进行分割,分割的位数没有规定。

代码
public class Demo01{
	public static void main(String[] args){
		//定义一个十进制数
		int num = 12;
		System.out.println("十进制num的值"+num);
		//赋值二进制数
		num = 0B0011;
		System.out.println("二进制num的值"+num);
		//赋值八进制数
		num = 016;
		System.out.println("八进制num的值"+num);
		//赋值十六进制数
		num = 0xA9;
		System.out.println("十六进制num的值"+num);
	}
}

小数

赋值

小数的赋值方式

  • 正常赋值(最常用)

double d = 15.5;

  • 科学计数法

数值E/e整数

代码
/**
小数赋值方式
*/
public class Demo02{
	public static void main(String[] args){
		//小数常用赋值
		double d = 12.5;
		System.out.println("d的值是"+d);
		d = 0.00345;
		System.out.println("d的值是"+d);
		//采用科学计数法赋值
		d = 3.45e-3;
		System.out.println("d的值是"+d);
	}
}

逻辑型

符号所占空间范围
boolean1位(实际上是占用一个字节)ture/false

适用场景:

逻辑判定,流程控制中有大用

代码
public class Demo03{
	public static void main(String[] args){
		//声明一个boolean类型的变量
		boolean flag = true;
		System.out.println(flag);
		//声明一个int类型的变量存放3和5的累加和
		byte b = 3;
		short s = 5;
		//int num = b+s+flag;//boolean类型变量不能进行四则运算。
	}
}

字符型

符号空间范围
char2个字节0~65536

注意事项:

  • 给char类型变量赋值时一定要注意是单引号引起来的单个字符。
  • ‘’ 字符 “” 字符串 java中的字符串的类型是String
  • java采用unicode 可以使用中文
  • char类型是可以直接赋值整数的 包含0的正整数
  • char类型是可以参与四则运算的
  • 使用\ u + 十六进制数即可 (不常用)
  • 转义字符,
    转变含义,在java中有些符号已经有了自己的用法,
    通过转义字符,转变其含义。
    \ +要转义的字符
代码
public class Demo04{
	public static void main(String[] args){
		//声明一个char类型的变量
		char ch = 97;//将字符A赋值给了char类型变量ch存放
		System.out.println(ch+1);
		// java采用的是unicode u十进制的数
		ch = '\u0011';
		System.out.println("---"+ch+"---");
		//输出'
		ch = '\'';
		System.out.println("---"+ch+"---");
		//使用转义字符
		ch = '\t';
		System.out.println("---"+ch+"---");
		System.out.println("abcdefgh\tigklmn");
		System.out.println("abcdefghigklmn");
		System.out.print("\n");
	}
}

类型转换

自动转换

Tips: boolean类型是不可以进行类型转换的。

自动转换:小转大

大类型 变量名 = 小类型的值;
char
|
byte->short->int->long->float->double

强制装换

强制转换:(强转有风险,转换需谨慎)
大变小
小类型 变量名 = (小类型)大类型的变量;
如果大类型的变量的值超过了小类型的范围,结果有问题。

运算符

常见概念

int num = 10;称为语句。左右两边的内容称为操作数。

算术

+号

用途:

  • 正号
  • 加法运算
  • 连接符号

tips:

+号左右两边的操作数只要有一个是字符串类型那么+号的作用就是拼接作用,将+号左右两边的操作数
拼接为一个新的字符串。

代码
public class Demo01{
	public static void main(String[] args){
	//声明一个变量
	int num = +5+4;
	System.out.println(num);
	// + 号左右两边的操作数只要有一个是字符串类型
	// 那么+号的作用就是拼接作用,将+号左右两边的操作数
	// 拼接为一个新的字符串。
	System.out.println("1+1="+(1+1));
	}
}
- * / %
/**
将12345分离出各个位的数
*/
public class Demo05{
	public static void main(String[] args){
		int num = 1234;
		//通过%10将4取出
		int bit = num%10;
		System.out.println("个位数是"+bit);
		//将num变为123
		num = num/10;
		//将3取出
		bit = num%10;
		System.out.println("十位数是"+bit);
		//将num变为12
		num = num/10;
		//将2取出
		bit = num%10;
		System.out.println("百位数是"+bit);
		//将1取出
		bit = num/10;
		System.out.println("千位数是"+bit);
	}
}

自增自减

  • 自增++
    自增1
    当++是一条单独语句的时候,前加和后加一样 都是自增1
    如果不是独立一条语句
    前加: 先自增 再运算
    后加: 先运算 再自增
  • 自减–
    自减1
    和++相同 不过只是-1
    单目运算符。

关系运算符

  • 比较基本数类型

    < > < = >=

  • 比较基本数据类型和引用类型

    == !=

  • 关系运算符最后得到的结果是一个boolean值

代码
public class Demo04{
	public static void main(String[] args){
	System.out.println(5<3);
	//测试使用== !=
	int num1 = 10;
	int num2 = 20;
	System.out.println(num1==num2);//比较相等
	//声明两个字符串类型的变量
	String str1 = "abc";
	String str2 = "abc";
	System.out.println(str1==str2);//得到结果为true
	//System.out.println(str1>str2);//编译报错
	System.out.println(str1!=str2)}
}

逻辑运算符

& | ! && ||

注意事项
  • 逻辑运算符左右两边连接的操作数是一个boolean类型的值
  • & 左右两边操作数有一个为false,其结果就是false,如果都为true其结果才为true。
  • | 左右两边操作数有一个为true,其结果就是true,如果都为false其结果才为false。
  • ! 取反
  • ^ 相同为false 不同为true
  • && || 称之为短路与和短路或,&&如果第一个操作数为false其结果就是false不会执行第二个操作数。
    || 如果第一个操作数为true,整个结果就为true,不会执行第二个操作数
  • & | ^ 既是逻辑运算符也是位运算符
代码例子
/**
	登陆验证
*/
import java.util.Scanner;
public class Login{
	public static void main(String[] args){
		//设置初始密码和用户名
		int regName = 123456;
		int regPwd = 654321;
		//提示用户输入用户名
		System.out.println("请输入用户名:");
		Scanner input = new Scanner(System.in);
		//设置一个接受输入用户名的变量
		int loginName = input.nextInt();
		//提示用户输入密码
		System.out.println("请输入密码:");
		//设置一个接受输入密码的变量
		int loginPwd = input.nextInt();
		//判断输入的用户名和密码与设置的用户名和密码是否一致
		boolean flag = (regName==loginName)&&(regPwd==regPwd);
		//输出判断结果
		System.out.println(flag?"登陆成功":"登陆失败");
	}
}

赋值和扩展

运算符

**+= *= /= %= **

  • 优点

    简化代码量

    提高编译速度

    自动强转

  • 缺点

    不利于阅读

示例代码
public class Demo08{
	public static void main(String[] args){
	//声明两个变量存放两个学生分数
	int zhangScore = 120;
	int liScore = 98;
	//声明变量存放
	int result = 0;
	//result += zhangScore; //result = result + zhangScore;
	//result += liScore;//result = result + liScore;
    result = result + zhangScore;
    result = result + liScore;
    System.out.println(result);
    int num = 10;
    byte b = 10;
    // b =(byte)(b+num);
    b += num;
    System.out.println(b);
    }
}

条件

条件运算符

三目运算符

格式:
表达式1?表达式2:表达式3

  • 首先计算表达式1 的值,永远只能是true或者是false
  • 如果表达式1的值是true ,这个三目运算符的结果是表达式2的值。
  • 如果表达式1的值是false,这个三目运算符的结果是表达式3的值

三目运算符中的面试题:

表达式中类型会自动提升
int num = 90>100?90.0:100;
System.out.println(num);

运算符的优先级

  • = 赋值最低
    1:算数 > 关系 > 逻辑 > 三目 >赋值
    2: 单目>双目>三目
    3:加括号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值