猿学-Java基础教程运算详解及简单的练习

数据类型转换

自动类型转换

存储容量小的数据类型的数据可以直接转换成存储容量大的数据类型的数据

整数和整数之间的转换

byte-->short-->int-->long-->float-->double

字符和整数之间的转换

char-->int-->long-->float-->double

如:char c = 'c';

int i = c ;

System.out.println(i);

强制类型转换

存储容量大的数据类型转换成存储容量小的数据类型,不能直接转换

注意:强制类型转换可能会造成数据精度的损失,所以在你不确定这个数是否会大于某种数据类型的最大值时,不建议强制转换

如:long l1 = 100 ;

int i1 =(int) l1 ;

System.out.println(i1);

运算符

一种特殊的符号,用于表示数据的运算,赋值,比较等

运算符分类

算数运算符 + - * / ++ --等

赋值运算符 = += -= *= /=

比较运算符 > < == >= <=等

逻辑运算符 && || !

三目运算符 表达式?表达式:表达式

/ 除号

两数相除(相乘)时结果需要用存储范围大的那一个数的数据类型

当整数除以整数时,所得的结果是整数

当整数除以小数 或者小数除以整数时 所得的结果是小数

% 取模

两数相除取余数

++ 自增

int i= 10 ;

int j = i++ ; //相当于 j=i ; i = i+1 ; 先赋值后自增

int i1 = 10 ;

int j1 = ++i1 ; //相当于 i1=i1+1 ; j1 = i1 ; 先自增后赋值

赋值运算符

= 是Java语言当中优先级最低的运算符

而且是唯一一个从右往左进行运算的运算符

表达式

由数字,运算符,括号等组成的可以得到数据的有意义的组合

1

1+1

int a = 10 ;

a++ ;

注意:所有的运算符必须在英文状态下输入

比较运算 运算的结果都是boolean类型 true false

整数和浮点型 数据类型均可以进行大小的比较,也可以比较是否相等

boolean类型的数据不能比较大小,但是可以比较是否相等

字符类型可以比较大小,也可以比较是否相等

所有的数据在计算机中存储的都是二进制

编码表:ASCII码(美国人的)

GB2312(简体中文)

GBK (有简体中文也有繁体中文)

Unicode (包含了世界上所有已知的文字的编码)Java 就是采用的这个编码表

字符型数据比较的其实是其在编码表中对应的编码值

/**

比较运算符练习

> < >= <= == !=

比较运算 运算的结果都是boolean类型 true false

整数和浮点型 数据类型均可以进行大小的比较,也可以比较是否相等

boolean类型的数据不能比较大小,但是可以比较是否相等

字符类型可以比较大小,也可以比较是否相等

所有的数据在计算机中存储的都是二进制

编码表:ASCII码(美国人的)

GB2312(简体中文)

GBK (有简体中文也有繁体中文)

Unicode (包含了世界上所有已知的文字的编码)Java 就是采用的这个编码表

字符型数据比较的其实是其在编码表中对应的编码值

*/

public class BiJiao

{

public static void main(String[] args)

{

//大于>

float i = 10 ;

double j = 20 ;

boolean b = i > j ;//估计这行代码运行结束 b=false

System.out.println("b="+b);

//小于 <

b = i < j ; //估计这行代码运行结束 b=true

System.out.println("b="+b);

//大于等于 >=

b = i >= j ;

System.out.println("b="+b);

//小于等于 <=

b = i <= j ;

System.out.println("b="+b);

//等于==

b = i == j ;

System.out.println("b="+b);

//不等于 !=

b = i != j ;

System.out.println("b="+b);

//boolean类型的比较

System.out.println("boolean类型比较");

boolean b1 = true ;

boolean b2 = false ;

b = b1 != b2 ;

System.out.println("b="+b);

//字符类型的比较

System.out.println("字符类型比较");

char a = '你';

int a1 = a ;

char c = '我';

int c1 = c ;

b = a > c ;

System.out.println("b="+b+"你="+a1+"我="+c1);

}

}

/**

赋值运算符练习

= int i = 10 ;

+= i+= 10 ; //相当于 i = i+10 ;

-= i -= 10 ; //相当于 i = i - 10 ;

*= i *= 10 ; //相当于 i = i * 10 ;

/= i /= 10 ; //相当于 i = i /10 ;

%= i %= 10 ; //相当于 i = i% 10 ;

*/

public class FuZhi

{

public static void main(String[] args)

{

//=赋值

int i = 10 ;

//+=

i += 10 ;//预计执行完这一句之后 i=20 ;

System.out.println("i="+i);

//-=

i -= 10 ;

System.out.println("i="+i);

//*=

i *= 10 ;//语句执行完这一句代码之后 i=100

System.out.println("i="+i);

// /=

i /= 10 ; //预计执行完这一句代码之后 i = 10 ;

System.out.println("i="+i);

// %=

i %= 10 ; //预计执行完这句代码之后i = 0 ;

System.out.println("i="+i);

}

}

/**

逻辑运算符练习

& && | || ! ^ 运算的结果都是Boolean类型

逻辑运算符两边均是Boolean表达式

& && 当两边的表达式均为true时结果才为true,只要有一边的结果为false ,那么结果就为false

| 当两边的表达式的结果均为false时才为false,只要有一边的结果为true ,那么结果就是true

&&(短路与) 当左边的表达式为false时,右边的表达式统统不执行

& 无论左边的表示的结果是什么,右边的表达式都依次执行

||(短路或) 当左边的表达式结果为true时,右边的表达式统统不执行

| 无论左边的表示的结果是什么,右边的表达式都依次执行

! 取反 boolean b = true ; !b ; System.out.println(b);

*/

public class LuoJi

{

public static void main(String[] args)

{

//& 与

int i = 10 ;

int b = 20 ;

int c = 15 ;

//如果 i > b 并且 b > c 就能够推断出 i > c

//先判断 i >b 是不是成立,再 b > c是不是成立

boolean b1 = i > b;

boolean b2 = b > c ;

//再判断b1和b2是不是同时成立

boolean b3 = b1 & b2 ;

System.out.println("b3="+b3);

//| 或 判断 i > b 或者 b > c

b3 = b1 | b2 ;

System.out.println("b3="+b3);

//&& 短路&&

int k = 10 ;

int j = 20 ;

boolean bb = k > j && k++ >j ;

System.out.println("bb-->"+bb);

System.out.println("k-->"+k);

// || 短路或

bb = j > k || j++ < k ;//估计运行完改行代码

System.out.println("bb-->"+bb);

System.out.println("j-->"+j);

System.out.println("----------------------------");

boolean sb = true ;

sb = !sb ;

System.out.println(sb);

}

}

/**

三目运算

(boolean表达式)? (如果boolean表达式为true 这执行这里的表达式代码):(如果boolean表达式为false这执行这里的表达式代码)

*/

public class SanMu

{

public static void main(String[] args)

{

/**

有两个数 i = 20 ; j = 30 ,求最大值?

判断i 是不是大于 j 如果大于j则k=i 否则 k=j

*/

int i = 20 ;

int j = 30 ;

int k = (i >j)?i:j;

System.out.println("k="+k);

/*

有三个数

int a = 10 ;

int b = 20 ;

int c = 15 ;

判断如果 a>b 且 b >c 输出 a>c 否则 a<=c

*/

int a = 30 ;

int b = 20 ;

int c = 15 ;

boolean b1 = a > b ;

boolean b2 = b > c ;

String m =(b1 && b2)?("a>c"):("a<=c");

System.out.println(m);

}

}

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

推荐阅读更多精彩内容