zoukankan      html  css  js  c++  java
  • 疯狂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;
        }
    }
    
    
  • 相关阅读:
    查询长事务和SQL执行等待间隔时间
    一条诡异的SQL
    查询表的使用空间和可用空间
    查询SQL Server存储过程的执行信息
    清理大批量数据例子
    sql server 清理日志存储过程
    BCP 实例
    SQL Server 查询Job中的存储过程
    下车扫描五次优化全过程
    empty、isset和is_null的比较
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/6034762.html
Copyright © 2011-2022 走看看