疯狂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        通过转义字符表示特殊字符            \t        通过Unicode值来表示            \uXXXX    bool值得作用        if        while        for        ?:    类型转换        自动类型转换            byte→short→int→long→float→double        强制类型转换    运算符        算术运算符            +                加            -                减            *                乘            /                除            %                求余            ++                自加                    ++a先加1再运算                    a++先运算,再加1        赋值运算符            =            +=            -=            *=            /=            %=            &=            |=            <<=            >>=        比较运算符            >            >=            <            <=            ==            !=        逻辑运算符            &&            &            ||            |            !            ^        位运算符            &                与            |                或            ~                非            <<                左移            >>                右移

字符串例子

        char aChar = 'a';
        char enterChar = '\r';
        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;
    }
}

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6034762.html,如需转载请自行联系原作者
相关文章
|
17天前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
131 2
|
17天前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
55 1
|
1月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
73 12
|
7月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
118 13
|
2月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
3月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
185 0
|
7月前
|
Java C语言 C++
课时9:Java数据类型划分(数据类型划分)
课时9介绍了Java的数据类型划分及其操作。Java数据类型分为基本数据类型和引用数据类型。基本数据类型包括八种:数值型(整形、浮点型)、字符型和布尔型;引用数据类型有数组、类和接口。重点讲解了每种数据类型的默认值、适用场景及选择原则,如整数用int,小数用double,日期时间用Long等。掌握这些内容对编程至关重要。
146 4
课时9:Java数据类型划分(数据类型划分)
|
7月前
|
Java
课时12:Java数据类型划分(字符型)
课时12介绍了Java中的字符型数据(char),包括字符的定义、与int类型的转换及应用。通过范例展示了如何观察字符、编码转换、大小写字母互转、保存中文字符,以及Java中字符处理的灵活性。字符型使用单引号声明,可与int互相转换,支持Unicode编码,能表示任何文字,包括中文。虽然实际开发中直接操作字符型的情况不多,但理解其特性有助于更好地编程。
131 17
|
7月前
|
存储 传感器 缓存
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
216 15
|
7月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
185 9