Java零基础自学DAY3 2018-03-15

标识符和关键字:

1、分隔符

1.1 分号:语句的分隔

1.2 花括号:定义一个代码块 {} 成对出现

1.3 方括号:访问数组元素

a [3] = 3; 即试图为 名为a的数组的第四个元素赋值

1.4 圆括号:

定义方法时用来包含所有参数声明

调用方法时用来传入参数值

将表达式中某一个部分括成一个整体,保证此部分优先计算

强制类型转换的运算符

1.5 空格:分隔一条语句的不同部分 | 合理缩进代码

空格符(space)、制表符(Tab)、回车(Enter)

1.6 圆点:用作类/对象和它的成员之间的分隔符


2、标识符: 给程序中变量、类、方法命名的符号

字母、数字、下划线、美元符号

不能是关键字和保留字

不能含有空格

3、Java关键字:具有特殊用途的单词


数据类型分类:

声明变量:type varName [ = 初始值 ];

基本数据类型

整型:

一般情况数值默认为int类型,较小整数值默认为byte或short,巨大整数值后面加L变为long值

二进制 0b开头

八进制 0开头

十六进制 0x开头

字符型:

浮点型:

布尔型:


基本类型的类型转换

自动类型转换1


运行结果为



自动类型转换2


运行结果为



强制类型转换

强制转换类型加()

运行结果为


溢出规则:该数-目标类型大小*n

233 - 256(byte大小) = - 23

浮点数转整数始终取整


实际操作1:制作一个能生成6位英文随机字母的字符串

超前知识:

for循化

Math.random() : 随机生成一个大于等于0,小于1的数

char 97~122为小写英文字母a~z,具体可查ASCII表

运行之后可以得到6为英文字母随机数


另一个思路

通过Random rnd = new Random() , 来实现

代码之前一直报错,错因:开头没有 import 方法

得到结果:缺点缺少换行,难以阅读


进一步改进,结合String

代码之前一直报错,错因:没有String result

得到结果


实际操作2:字符串转基本类型:

所需方法:Integer.parseInt()

得到结果


在编辑Java源文件时,System.out.println()被我括在了main{}之外,导致编译时一直提示


以后需要注意此问题


表达类型的自动提升


得到结果

表达式的数据类型自动给提升到与表达式中最高等级操作数同样的操作


直接量:程序中通过源代码直接给出的值

int a = 5,为变量a说分配的初始值5就是一个直接量

1.直接量的类型:基本类型、字符串类型、null类型

2.直接量的赋值:

int a = 5;

char c = 'a';

boolean b = true;

float f = 5.12f;

double d = 4.12;

String author = "Jochen"

运算符:用以表示数据的运算、赋值和比较等

1. 算术运算符:

加、减、乘、除、求余、自加、自减

除法中,整数类型除数不可以为0,结果截断取整,

两个操作数有一个是浮点数,或者两个数都是浮点数,则结果也是浮点数,此时除数可以为0,或者是0.0,得到结果是正无穷大或负无穷大。

除法运算


求余运算


自加:++

自加运算只能操作单个数值型的变量,不能操作常量或表达式

++放在操作数左边:先把操作数加1,再把操作数放入表达式运算

++放在操作数右边:先把操作数放入表达式运算,再把操作数加1

++在右边

得到结果


++在左边

得到结果


自减:--

同自加,操作数减1

更复杂的运算符:借助 java.lang.Math 类工具完成

得到结果


2. 赋值运算符:

用于为变量指定变量值,使用=作为赋值运算符

String str = "Java"; // 为变量str赋值为Java

double pi = 3.14; // 为变量pi赋值为3.14

boolean visited = true; // 为变量visited赋值为true

String str2 = str; // 将变量str的值赋给str2

使用多个赋值运算符,可以一次为多个变量赋值:(但是不推荐)

将表达式的值赋给变量:

double d1 = 12.34;

double d2 = d1 + 5; // 将表达式的值赋给d2

System.out.println(d2); // 输出d2的值,将输出17.34


3. 位运算符

按位与:& ,当两位同时为1时才返回1

按位或:| ,只要有一位为1即可返回1

按位非:~,单目运算符,将操作数的每位全部取反

按位或异:^,当两位相同时返回0,不同时返回为1

左移运算符:<<

右移运算符:>>

无符号右移运算符:>>>


4. 扩展后的赋值运算符

+=:对于x += y, 对应 x = x + y;

-=:对于x -= y, 对应 x = x - y;

*=:对于x *= y, 对应 x = x * y;

/=: 对于x /= y, 对应 x = x / y;

%=:对于x &= y, 对应 x = x & y;

|=:对于x |= y, 对应 x = x | y;

^=:对于x ^= y, 对应 x = x ^ y;

<<=:对于x <<= y, 对应 x = x << y;

>>=:对于x >>= y, 对应 x = x >> y;

>>>=:对于x >>>= y, 对应 x = x >>> y;

'



5. 比较运算符

大于:>,只支持左右两边为数值类型,如果前面变量的值大于后面变量的值,则返回true

大于等于:>=,只支持左右两边为数值类型,如果前面变量的值大于等于后面变量的值,则返回true

小于:<,只支持左右两边为数值类型,如果前面变量的值小于后面变量的值,则返回true

小于等于:<=,只支持左右两边为数值类型,如果前面变量的值小于等于后面变量的值,则返回true

等于:==,如果进行比较的两个操作数都是数值类型,即使数据类型不同,只要它们值相等,也返回ture。例如:97 == 'a' 返回true,5.0 == 5 返回true。如果进行比较的两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,而且两个引用必须指向同一个对象才会返回true。

不等于:!=,如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们值不相等,也都返回ture。如果进行比较的两个操作数都是引用类型,只有当两个引用变量的类型具有父子关系时才可以比较,只要两个引用指向的不是同一个对象就会返回true。

得到结果

6. 逻辑运算符

与:&&,前两个操作数必须都是true才返回true,否则返回false

不短路与:&,与&&相同,但不会短路

或:||,只要两个操作数中有一个是true,就可以返回true,否则返回false

不短路或:|,与||相同,但不会短路

非:!,只需要一个操作数,如果操作数为true,则返回false;如果操作数为false,则返回true

异或:^,当两个操作数不同时才返回true,如果两个操作数相同则返回false

得到结果

对于短路逻辑 || 而言,如果第一个操作数返回true,|| 将不会再对第二个操作数求值,直接返回true

对于短路逻辑&&而言,如果第一个操作数返回false,&& 将不会再对第二个操作数求值,直接返回false


7. 三目运算符:只有一个 ? :

(expression) ? if-true-statement : if-false-statement;

即:先对逻辑表达式expression求值,如果逻辑表达式返回true,则返回第二个操作数的值,如果逻辑表达式返回false,则返回第三个操作数的值。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,114评论 0 13
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,148评论 1 44
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 8,036评论 1 19
  • 路边的小草已经抽穗、结果,突兀地立于一片荒草中。 感觉夏天还没有结束,就失去了热情,天也变得阴郁。人们更是缩手缩脚...
    刘芷源07阅读 251评论 16 10
  • 明年我不要再爱你了 文/十年 电影《一生一世》中说到爱过就是一生一世,只是我爱到荼蘼却也不见...
    你的青春有我123阅读 490评论 0 0