疯狂java讲义之数据类型与运算符
2016-11-06 09:48
162 查看
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; } }
相关文章推荐
- 疯狂JAVA讲义---第三章(上):数据类型和运算符
- 读书笔记(一) 疯狂JAVA讲义 第三章 数据类型和运算符
- 《疯狂Java讲义》第3章——数据类型和运算符
- C语言教程--第二章: 数据类型、运算符、表达式(连载中)
- 《C++捷径教程》读书笔记--Chapter 9--更多的数据类型与运算符(第二部分)
- Linux下程式开发2 变量数据类型的代码以及编译&运算符与表达式
- 数据类型 text 和 nvarchar 在 equal to 运算符中不兼容得问题。
- 第二章: 数据类型、运算符、表达式
- 变量、数据类型、运算符和条件结构
- 数据类型、运算符与表达式
- 数据类型、运算符、表达式
- 数据类型 varchar 和 varchar 在 modulo 运算符中不兼容。
- (二)python的数据类型与运算符
- C语言教程第二章: 数据类型、运算符、表达式
- 数据类型和运算符
- “数据类型 varchar 和 bit 在 add 运算符中不兼容”解决方法
- Java基础学习2--数据类型与运算符
- 《C++捷径教程》读书笔记--Chapter 9--更多的数据类型与运算符(第一部分)
- 其他数据类型和运算符
- 对数据类型而言运算符无效。运算符为 add,类型为 text。