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讲义之数据类型与运算符的更多相关文章

  1. 【Java】-NO.16.EBook.4.Java.1.002-【疯狂Java讲义第3版 李刚】- 数据类型

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.002-[疯狂Java讲义第3版 李刚]- 数据类型 Style:EBook Series:Java ...

  2. 【Java】-NO.16.EBook.4.Java.1.003-【疯狂Java讲义第3版 李刚】- oop

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.003-[疯狂Java讲义第3版 李刚]- oop Style:EBook Series:Java S ...

  3. 《疯狂java讲义》笔记 1-5章

    1.编译语言和解释语言理解,摘自李刚老师的<疯狂Java讲义>第三版: 就是说,Java和.net都是编译型有事解释型语言.编译型就是根据不同平台编译成不同的可执行机器码,编译过程中会进行 ...

  4. 《疯狂java讲义》读后感

    <疯狂java讲义·第三版>,全书共851页,18章. 目录如下: 第1章 Java语言概述与开发环境 第2章 理解面向对象 第3章 数据类型和运算符 第4章 流程控制与数组 第5章 面向 ...

  5. 《疯狂Java讲义第4版》PDF+代码+课件 电子书pdf 分享

    <疯狂Java讲义(第4版)>是<疯狂Java讲义>的第4版,第4版保持了前3版系统.全面.讲解浅显.细致的特性,全面新增介绍了Java 9的新特性. <疯狂Java讲义 ...

  6. 读《疯狂Java讲义》笔记总结一

    最近在读<疯狂Java讲义>,现把其中遇到的一些自己以前没掌握的点儿记录下来. 1.字符串相关 字符串不是基本类型,字符串是一个类,也就是一个引用类型. 字符串转int类型String a ...

  7. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  8. 《疯狂Java讲义》(一) ---- 关于学习Java的反思

    "听到Spring很火,就立马买来一本Spring的书来读,最后结果往往是失败,因为这种学习没有积累,没有根基,学习过程中困难重重,每天都被一些相同.类似的问题所困扰,起初热情十足,经常上论 ...

  9. 疯狂java讲义——继承

    本文章只是记录我在学习疯狂java讲义里面,对之前java知识查缺补漏进行的总结. 方法重写 方法重写要遵循"两同两小一大"规则."两同"即方法名相同.形参列表 ...

随机推荐

  1. ASP.NET-datatable转换成list对象

    #region 讲DataTable转换为List对象 /// <summary> /// 利用反射将DataTable转换为List<T>对象 /// </summar ...

  2. 洛谷 P2949 [USACO09OPEN]工作调度Work Scheduling

    P2949 [USACO09OPEN]工作调度Work Scheduling 题目描述 Farmer John has so very many jobs to do! In order to run ...

  3. HDU 4418 高斯消元法求概率DP

    把两种状态化成2*n-2的一条线上的一种状态即可.很容易想到. 高斯列主元法,不知为什么WA.要上课了,不玩了...逃了一次课呢.. #include <iostream> #includ ...

  4. uva725_一道水题(优化到了29ms)

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...

  5. OpenCV特征点检測------Surf(特征点篇)

    Surf(Speed Up Robust Feature) Surf算法的原理                                                              ...

  6. Hibernate的多种关系映射(oto、otm、mtm)

    前提:使用注解映射 一.一对一(夫妻关系表) 两个表:hus1和wife1表,外键为id,各自有名字hname和wname 映射得到两个类:Hus1和Wife1类 Hus1类(主表): package ...

  7. 百度地图-----&gt;地图类型、定位模式、实时交通、我的位置、加入覆盖物、覆盖物详情及提示

    在百度地图开发平台 http://developer.baidu.com/map/index.php? title=androidsdk 进行创建应用,获取应用的AK,在进行下载BaiduLBS_An ...

  8. Caffe学习--Layer分析

    Caffe_Layer 1.基本数据结构 //Layer层主要的的参数 LayerParamter layer_param_; // protobuf内的layer参数 vector<share ...

  9. STM8S103 解决Rom空间不足 & Map文件分析

    STM8S103只有8KRom,很容易造成空间不足.对于空间不足,我们就要从map文件着手分析,究竟哪些函数占了多少空间,map文件分为几部分:Segments(总括了各个段所占的空间), Modul ...

  10. shell-3.bash的基本功能: history tab alias 快捷键