标签:三元运算符 str 注意 ++ void 意思 2.7 表达式2 语言
? java中有三种注释
单行注释: //注释内容
多行注释:/* 注释内容 */
文档注释: /** 注释内容 */
? 其中文档注释可以利用javadoc.exe生成API文档
/* * 实现步骤: * 1.定义一个类 class * 2.编写程序执行的入口方法,main主方法 * 3.通过输出语句System.out.println()将信息”HelloWorld!”打印在控制台上 */ // 定义一个类 class class HelloWorld { // 编写程序执行的入口方法,main主方法 public static void main(String[] args) { // 通过Java提供的输出语句, 将信息”HelloWorld!”打印在控制台上 System.out.println("HelloWorld!"); } }
其实注释就是做记录解释代码,建议大家今后在编码时先写思路、分析、步骤、然后再写代码。把思路、分析、步骤使用注释放在源码中。
? 关键字是被java语言赋予了特殊含义,具有专门用途的单词。比如 public、class、static 等这些都是设定好的。
? 这些关键字需要背诵吗?
? 我们HelloWorld.java案例中用到过哪些关键字?
? 标识符就是名称的意思,所有的名称都统称为标识符。java中经常要定义类、方法、变量(后面会学习到),在定义它们时总要给他们取名字,这些名字就是标识符。
? 标识符组成元素:
? *英文:a-zA-Z
? *数字: 0-9
? *符号: _ 与 $
? 标识符规则:
? *不能以数字开头
? *不可以使用关键字
? *遵循驼峰法则,比如 HelloWorld
? *尽量达到见名知意
软件是什么?
? 其实软件就是用来处理数据的。
? 软件的组成:
? *数据
? *处理数据的逻辑
? 程序 = 数据 + 逻辑
什么是数据?
? 用电商来举例子,用户是数据,商品也是数据。
处理数据的逻辑又是什么呢?
? 购买商品的过程就是处理数据的逻辑
? 程序的开发离不开数据,说白了程序就是处理数据的。通常数据会发生变化,而处理数据的逻辑不会发生改变。例如商品的数量、种类是会变化的,而买的流程是不会改变的。
? 生活中的数据也是有类型的,例如 人名:汉字或者英文,年龄:数字
? 那么java中有哪些数据类型?他们分别是怎么表示的?
? java是强类型语言,对每一种数据都对应了明确的数据类型。下面是java中的数据类型
? 基本数据类型是java语言中内置的类型,分别是 整数类型、小数类型、字符类型、布尔类型。这四类基本类型是最简单、最基础的类型。
? 引用数据类型是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型。不过现在我们先要学习的是基本类型!
? Java中的数据量分为常量和变量,我们先来学习常量!
? 常量就是不变的数据量,例如666就是常量。任何数据量都有其类型,那么这个666又是什么类型呢?没错,就是整数类型!!!
? *整数类型: 18 、666 、1888等
? *小数类型: 1.8 、6.66、3.1415926等
? *字符类型: ‘a‘ 、‘A‘、‘0‘ 、‘中’等。(注意: 字符型是用 ‘ ‘ 包裹,并且里面只能写一个)
? *布尔类型: true(真)、false(假)
? *字符串类型: “我爱java”、“HelloWorld!!!”、“我爱编程,编程使我快乐!”
? ?字符串String 是一种应用类型,我们先了解作为常量的使用方式
? ?字符串必须用 " " 包裹,里面可以随意写东西
? 回顾我们HelloWorld案例,其中System.out.println("HelloWorld!!!")的圆括号里面是什么类型?
? 下面我们通过代码实际感受一下:
/* * 常量的演示 */ public class Demo{ public static void main(String[] args){ // 整数类型 System.out.println(666); System.out.println(1888); // 小数类型 System.out.println(1.8); System.out.println(3.1415926); // 布尔类型 System.out.prinltn(true);//真 System.out.println(false);//假 //字符类型 System.out.println(‘A‘); System.out.println(‘中‘); //字符串类型 System.out.println("我爱编程"); System.out.println("编程是我快乐"); } }
? 前面我们已经学过了常量,现在来学习下变量。在java中变量的应用比常量应用要多很多,所以变量是非常重要的知识点!
? 什么是变量?
变量是一个内存中的小容器,什么是容器?例如 : 水杯是容器,用来装水;衣柜是容器,用来装衣服。那么变量是装什么的呢?答案是数据! 结论:变量是内存中装数据的小容器,你只能用它来存数据和取数据。
? 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机的存储设备最小信息单元叫"位(bit)",我们又称之为”比特位“,通常用小写字母b表示。而计算机最小的存储单元叫"字节(byte)",通常用大写字母B表示,1个字节由8个位组成。
? 操作系统分派的最小存储空间是1个字节,而不是1位。
? 计算机除了字节与位外还有哪些存储单位,大家一起来看看!
? 1B(字节) = 8 bit
? 1KB = 1024B
? 1MB = 1024KB
? 1GB = 1024MB
? 1TB = 1024GB
? 1PB = 1024TB
? 衣柜不能用来装水,水杯也不能用来装衣服。这说明不同的容器装不同的物品。变量也是如此,在创建变量时需要指定变量的数据类型,例如 整型变量、浮点型变量等。
? 结论:变量必须要有明确的类型,什么类型的变量装什么类型的数据
? 水杯是用来装水的,那么装多少水呢?一吨?我们知道水杯在创建时不只确定了要装的是水(数据类型),而且还能确定装多少水(数据类型的具体种类)。变量也是如此,需要指定变量能装什么类型的数据,同时也要确定能装多大的数据
? java的基本类型一共4类,把这四类展开以后就是8种基本数据类型,我们今后写程序时用的是这8种基本类型,这8种基本类型也指定了范围。
char 字符型 ,2个字节 ,用单引号表示 ‘ ‘ ,刚好容纳一个汉字,注意:里面只能放一个
boolean 布尔型 ,一个字节 0000 0001 最低为表示,取值(布尔值) :true(真) 和 false(假)
? E : 123E5 = 123 * 10^5 = 12300000 , 123E-5 = 123 * 10^-5 = 0.0123
? e : 自然常数,约 2.718281828
? 我们前面说666是整数常量,但它是byte、short、int、long里面的哪一种呢?下面我们就来聊聊这一常量类型的问题。
? ?在Java中默认的整数类型是int类型
? 例如: 666 、 888
? ?在Java中如果是long类型的值后面需要加L(大小写都可以,建议大写)
? 例如: 13456789123L 、100L
? ?在Java中小数默认是double类型
? 例如: 1.888、3.123456
? ?在Java中如果是float类型的值后面需要加上F(大小写都可以建议大写)
? 例如: 1.5F、6.8888F
? 定义变量的语法:
? 数据类型 变量名 = 数据值;
? int a = 100;(用分号结束)
? 解释int a = 100; 把值为100的整数赋值给变量a,其中100在int类型的取值范围以内。
? 练习:要求:写出代码运行起来,并且能够解释每行代码的意思。
public class Variable{
public static void main(String[] args){
int a = 100;
System.out.println(a);
double b = 7.89;
System.out.println(b);
char c = ‘猿‘;
System.out.println(c);
String d = "今天,又是充满希望的一天!";
System.out.println(d);
boolean e = true;
System.out.println(e);
}
}
? 变量使用的注意事项:
? 局部变量
? 1.我们使用变量的时候要注意,要满足变量的使用规则我们才能使用
? 2.定义变量时可以先不赋值,使用时在赋值。不赋值不能使用
public class Demo2{ public static void main(String[] args){ int x;//先定义一个变量x x = 20;//把20赋值给这个x System.out.println(x);//这一步是打印x,这也就是在这一行用到了x } }
? 3.变量不可重复定义
public class Demo3{ public static void main(String[] args){ int i = 10; double i = 1.5;// 这里 i 就重复了,会发生编译错误 } }
类型根据字节数由小到大排列:byte - short - int - float - long - double
两种转换方式:
? 1.显示转换(强制转换)
? 小范围数据类型 变量 = 大范围数据类型;
? 如:
? int n = (int)6.7;
? 或者
? double l = 3.14;
? int t = (int)l;
? 强制转换注意: 需要在值的前面加上对应的数据类型
? 2.隐式转换(自动转换)
? 大范围数据类型 变量 = 小范围的数据类型;
? 如:
? double d = 10000;
? 或者
? int i = 100;
? double d2 = i;
运算符 | 运算规则 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
+ | 加 | 2+3 | 5 |
+ | 连接字符串 | “中”+“国” | “中国” |
- | 负号 | int a=3;-a | -3 |
- | 减 | 3-1 | 2 |
* | 乘 | 2*3 | 6 |
/ | 除 | 5/2 | 2 |
% | 取模 | 5/2 | 1 |
++ | 自增 | int a=1;a++/++a | 2 |
-- | 自减 | int b=3;a--/--a | 2 |
? 使用算术运算符时要注意:
? 1.加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串
public class Demo4{ public static void main(String[] args){ System.out.println("中" + "国");//打印出 中国 } }
? 2.除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除
System.out.println(3/2);// 1 System.out.println(3.0/2);//1.5
? 3.“%”取模(取余数),小数取余没有意义。结果符号与被取余符号相同
System.out.println(5%3);// 5 / 3 = 1 ... 2 所以结果时 2 System.out.println(3%5);// 一个小的数对一个大的数取模,就等于它本身 3
算术运算符 ++ , --的使用
我们来看一段代码
int a = 3; int b = 3; a++; b--; System.out.println(a);//4 System.out.println(b);//3
? 上面的代码输出结果a的值为4,b的值为2
? 这说明a与b的值在原有的基础上发生了改变,改变的值为1.
? ++运算符:会在原有值得基础上自增1
? --运算符:会在原有值得基础上自减1
我们再来看一段代码
int a = 3; int b = 3; ++a; --b; System.out.println(a);//4 System.out.println(b);//3
? 上面的代码输出结果a的值为4,b的值为2
? 说明 ++,-- 在单独使用并且不参与操作符时,不管在前还是在后结果是一样的。
接下来我们参与操作符
int a = 3; int b; b = a++ + 10; System.out.println(a);//4 System.out.println(b);//13
? 上面代码的输出结果a值为4,b值为13;
? 强调:当++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1
再介绍下++,--运算符前置时,参与运算操作的变化,我们来看一段代码 :
int a = 3; int b; b = ++a + 10; System.out.println(a);//4 System.out.println(b);//14
? 强调: ++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作
我们来学习一下赋值运算符,赋值运算符就是为变量赋值的符号,赋值运算符的使用看下图:
运算符 运算规则 范例 结果 = 赋值 int a=2 2 += 加后赋值 int a=2,a+=2 4 -= 减后赋值 int a=2,a-=2 0 *= 乘后赋值 int a=2,a*=2 4 /= 整除后赋值 int a=2,a/=2 1 %= 取模后赋值 int a=2,a%=2 0 注意:诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
写一个代码,我们看一下赋值运算符的使用
/* * 赋值运算符 * +=, -=, *=, /=, %= : * 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的 * 注意:赋值运算符左边必须是变量 */ public class Demo5{ public static void main(String[] args) { byte x = 10; x += 20;// 相当于 x = (byte)(x+20); System.out.println(x);// 30 } }
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false 。
运算符 运算规则 范例 结果 == 相等于 4==3 False != 不等于 4!=3 True < 小于 4<3 False > 大于 4>3 True <= 小于等于 4<=3 False >= 大于等于 4>=3 True 这里需要注意一下:
? *赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:
? 1.赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
? 2.比较运算符的 == 符号,是用来判断== 符号左右变量的值是否相等的
我们通过下面的一段代码,我们演示一下这个注意事项 :
int a = 3; int b = 4; System.out.println( a=b );// 4 System.out.println( a==b );// true
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false
运算符 运算规则 范例 结果 & 与 false&true False | 或 false|true True ^ 异或 true^flase True ! 非 !true Flase && 短路与 false&&true False || 短路或 false||true True 看完图后,我们来看一下逻辑运算符的常规使用方式:
? 1.逻辑运算符通常连接两个其他表达式计算后的布尔值结果
? 2.当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断
我们通过代码演示一下:
boolean b = 100>10; boolean b2 = false; System.out.println(b&&b2); // 打印结果为 false System.out.println(b||b2); //打印结果为 true System.out.println(!b2); //打印结果为 true System.out.println(b && 100>10); //打印结果为 true,本行结果的计算方式稍后讲解运算符优先级时解答
好了,我们来总结一下运算符的结果规律吧 :
? 1.短路与&&:参与运算的两边数据,有false,则运算结果为false
? 2.短路或||:参与运算的两边数据,有true,则运算结果为true
? 3.逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true
? 二进制
? 八进制
? 十六进制
左移 : <<
int a = 4 << 2; // 4 * 2^2 = 16 int b = 8 << 3; // 8 * 2^3 = 64 // 总结: int x = y << z 时相当于 y * 2^z
右移: >>
int a = 4 >> 2; // 4 / 2^2 = 1; int b = 8 >> 3; // 8 / 2^3 = 1; // 总结 : int x = y >> z 时相当于 y / 2^z
无符号运算 >>>
int a = 4; System.out.println(a >>> 2); // 1 int b = -4; System.out.println(b >>> 2); // 1073741823 源码 1000 0000 0000 0000 0000 0000 0000 0100 反码(高位不变低位相反) 1111 1111 1111 1111 1111 1111 1111 1011 补码 (反码 + 1) 1111 1111 1111 1111 1111 1111 1111 1100 右移两位 0011 1111 1111 1111 1111 1111 1111 1111 直接计算移动后的值 2 ^ 29 + 2^28 + 2^27 + ...+ 2^0
? 接下来我们要学习的三元运算符与之前的运算符不同。之前学习的均为一元或者二元运算符。元即参与运算的数据
? 格式:
? 数据类型 变量名 = (条件表达式)?表达式1:表达式2;
? 表达式:通俗的说,即通过使用运算符将操作数联系起来的式子,例如 :
? 1.3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式
? 2.3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式
? 三元运算符运算规则:
? 先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2
通过代码演示,我们来学习下三元运算符的使用 :
方式一: System.out.println( 3>2 ? “正确” : “错误” ); // 三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将结果“正确”,在控制台输出打印 方式二: int a = 3; int b = 4; String result = (a==b) ? “相等” : “不相等”; System.out.println(result); //三元运算符运算后的结果为false,运算结果为表达式2的值“不相等”,然后将结果赋值给了变量result 方式三: int n = (3>2 && 4>6) ? 100 : 200; System.out.println(n); //三元运算符运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n
小练习:
1.A和B点相距500公里,同时从A和B对向各开出1列火车,经过30分钟后,在距离A和B的中点50公里的地方相遇。问A火车和B火车的速度各为多少公里每小时
2.一缸水,用去二分之一和5桶,还剩下30%,问这缸水有多少桶
3.一根钢管长10米,第一次截去十分之七,第二次又截去剩下的三分之一,问还剩下多少米
4.修筑一条公路,完成了全长的三分之二后,距离中间点为16.5千米,这条公路全长多少千米
5.山羊有50只,绵羊比山羊的五分之四多3只,问绵羊多少只
6.输入圆的半径,求这个圆的周长和面积
7.输入正方体的边长,求体积和表面积
8.问题:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”
标签:三元运算符 str 注意 ++ void 意思 2.7 表达式2 语言
原文地址:https://www.cnblogs.com/zcq-Test/p/10646629.html