疯狂java讲义之数据类型与运算符


	Java是一门强类型语言
		所有变量必须先声明、后使用
		指定类型的变量只能接受类型匹配的值
	注释
		@author
			作者
		@version
			版本
		@param
			方法参数
		@return
			返回值
	标识符与关键字
		分隔符
			;
			{}
			[]
			()
			.
	数据类型
		基本类型
			boolean
			数值类型
				整数类型
					byte
						1个字节
							8位2进制
					short
						2个字节
							16位2进制
					int
						4个字节
							32位2进制
					long
						8个字节
							64位2进制
				浮点类型
					float
						4个字节
							第一位是符号位
							接下来8位表示指数
							接下来23位表示尾数
					double
						8个字节
							第一位是符号位
							接下来11位表示指数
							接下来52位表示尾数
					两种表现形式
						十进制
							5.12
							512.0
							.512
						科学计数
							5.12e2
								表示5.12*10²
				字符类型
					char
						2个字节
		引用类型
			类
			接口
			数组
			null
	整数的4种表示方式
		十进制
		二进制
			0b
			0B
		八进制
			0
		十六进制
			0x
			0X
	ASCII字符集
		只要一个字节,8位,支持256个字符编号
	Unicode字符集
		两个字节,16位,支持65536个字符编号
	字符值的三种表示形式
		直接通过单个字符表示
			A、9、0
		通过转义字符表示特殊字符
				
		通过Unicode值来表示
			uXXXX
	bool值得作用
		if
		while
		for
		?:
	类型转换
		自动类型转换
			byte→short→int→long→float→double
		强制类型转换
	运算符
		算术运算符
			+
				加
			-
				减
			*
				乘
			/
				除
			%
				求余
			++
				自加
					++a先加1再运算
					a++先运算,再加1
		赋值运算符
			=
			+=
			-=
			*=
			/=
			%=
			&=
			|=
			<<=
			>>=
		比较运算符
			>
			>=
			<
			<=
			==
			!=
		逻辑运算符
			&&
			&
			||
			|
			!
			^
		位运算符
			&
				与
			|
				或
			~
				非
			<<
				左移
			>>
				右移

字符串例子

        char aChar = 'a';
        char enterChar = '
';
        char ch = 'u9999';
        System.out.println(aChar); // a
        System.out.println(enterChar);
        System.out.println(ch); // 香
        char zhong = '疯';
        int zhongValue = zhong;
        System.out.println(zhong); // 疯
        System.out.println(zhongValue); //30127
        char c = 97;
        System.out.println(c); // a

        // 字符串
        String s = "我爱你u9999";
        System.out.println(s); // 我爱你香

运算例子

        double a = 5.2;
        double b = 3.1;
        double div = a/b;
        System.out.println(div); //1.6774193548387097
        System.out.println("5除以0.0的结果:" + 5/0.0); // Infinity 正无穷
        System.out.println("-5除以0.0的结果:" + -5/0.0); // -Infinity 负无穷
        //System.out.println("5除以0的结果:" + 5/0); // 报错
        //System.out.println("-5除以0的结果:" + -5/0);

        int ia = 5;
        int ib = ia++ + 6;
        System.out.println(ib); // 11

        int ia2 = 5;
        int ib2 = ++ia2 + 6;
        System.out.println(ib2); // 12

        System.out.println("5是否大于4.0:" + (5 > 4.0));
        System.out.println("5和5.0是否相等:" + (5 == 5.0));
        System.out.println("97和'a'是否相等:" + (97 == 'a'));
        System.out.println("true和false是否相等:" + (true == false));

        // ||与|的区别
        int a1 = 5;
        int b1 = 10;
        if (a1 > 4 | b1++ >10) {
            System.out.println("a1的值是:" + a1 + ",b1的值是:" + b1); // b1的值为11
        }

        int a2 = 5;
        int b2 = 10;
        if (a2 > 4 || b2++ >10) {
            System.out.println("a2的值是:" + a2 + ",b2的值是:" + b2); // b2的值为10
        }

自动转换例子

package ch3;

/**
 * Created by Jiqing on 2016/11/6.
 */
public class AutoPromote {
    public static void main(String[] args) {
        byte b = 40;
        char c = 'a';
        int i  =23;
        double d = .314;

        double result = b+c+i*d;
        System.out.println(result); // 144.22 自动转为最高级的double型

        int val = 3;
        int intResult = 23/val;
        System.out.println(intResult); // 7

        System.out.println("hello!" + 'a' + 7); // hello!a7
        System.out.println('a' + 7 + "hello!"); // 104hello!
        System.out.println('a' + "hello!");     // ahello!
    }
}

强制转换例子

package ch3;

/**
 * Created by Jiqing on 2016/11/6.
 */
public class NarrowConversion {
    public static void main(String[] args) {
        int iValue = 233;
        byte bValue = (byte)iValue; //强制转换
        System.out.println(bValue); // 变成-23

        double dValue = 3.98;
        int tol = (int)dValue;
        System.out.println(tol); // 变成了3

        float a = (float) 5.6; // 默认是double,需要强制转换
        String score = "100";
        int iScore = Integer.parseInt(score); // (int) 不能将字符串变为int

        System.out.println(RandomStr(6));
    }

    public static String RandomStr(int length) { // 利用强制转化生产随机字符串
        String result = "";
        for (int i = 0;i<length;i++) {
            int intVal = (int)(Math.random()*26 + 97);
            result = result + (char)intVal;
        }
        return result;
    }
}

原文地址:https://www.cnblogs.com/jiqing9006/p/6034762.html