Java的基础语法(二)
目录
1.自动类型转换
2.强制类型转换
3.运算符
一 . + 号的使用
(1) + 号可作为连接符使用 .
(2) 自增自减运算符
二 . = (赋值运算符)
三 . 关系运算符
四 . 逻辑运算符
五 . 三元运算符
六 . 运算符优先级
4.流程控制语句
一 . If 分支
(1) if的作用
(2) if分支的三种格式
二 . Switch 分支
(1) whitch 的作用
(2) whitch 执行流程
三 . For 循环
四 . While 循环
五 . Do-While 循环
5.数组
(1)静态初始化数组
(2) 动态初始化数组
(3) 数组遍历
(4) 数组的内存分配机制
1.自动类型转换
类型范围小的变量 , 可以直接赋值给类型范围大的变量 .
例 : byte a = 20; int b = a;
a的数值范围比b的小 , 当把 a 赋给 b 时会进行自动类型转换.
例1 : byte a = 10 ; int b = 20 ; double c = 1.0 ; double d = a + b + c ; //31.0
byte -> int -> double 接收数据时如果不使用double会产生异常.
例2 : byte a = 10; byte b = 20; byte c = a+b ;(报异常,可以把byte 改为 int 类型)
修改后 : byte a = 10; byte b = 20; int c = a+b ;
a+b 的数据无法使用byte来接收 .因为a 和 b 在运行的过程中自动转换成了 int 类型 .
注意 :
- 表达式的最终结果类型由表达式中的最高类型决定.
- 在表达式中 , byte , short , char 是直接转换成 int 类型参与运算的.
2.强制类型转换
可以强行将类型范围大的变量 , 数据赋值给类型小范围小的变量 .
注意 :
- 强制类型转换可能造成数据(丢失).
- 浮点型强制转成整型 , 直接丢失小数部分 , 保留整数部分返回 .
3.运算符
运算符 : 对字面量或者变量进行操作的符号.
一 . + 号的使用
(1) + 号可作为连接符使用 .
例 : int a = 10 ; string b = "abc"; System.out.printn(a+b);//10abc
注意 : + 在作为连接符时当字符串与数值相加时返回的是一个字符串 , + 也可作为运算符 ,
(2) 自增自减运算符
注意 :
- ++ 和 -- 既可以放在变量的后面 , 也可以放在变量的前面 .
- ++ , -- 只能操作变量 , 不能操作字面量的 .
二 . = (赋值运算符)
三 . 关系运算符
四 . 逻辑运算符
五 . 三元运算符
六 . 运算符优先级
4.流程控制语句
一 . If 分支
(1) if的作用
根据判定的结果( 真或假 )决定执行某个分支的代码.
(2) if分支的三种格式
二 . Switch 分支
(1) whitch 的作用
根据匹配条件去执行分支 , 适合做值匹配的分支选择 , 结构清晰 , 格式良好 .
(2) whitch 执行流程
- 先执行表达式的值 , 拿着这个值去与case 后的值进行匹配 .
- 匹配哪个 case 的值为 true 就执行哪个 case , 遇到break 就跳出switch 分支 .
- 如果 case 后的值不匹配则执行default 代码 .
例 :
Break : 跳出并结束当前所在循环的执行.
Countinue : 用于跳出当前循环的当次执行 , 进入下一次循环 .
注意事项 :
- 表达式类型只能是 byte , short , int , char , JDK5 开始支持枚举 , JDK7 开始支持String , 不支持 double , float , long .
- case 给出的值不予许重复 , 且只能是字面量 , 不能是变量 .
- 不能忘记写break , 否则穿透现象.
- Break : 只能用于结束所在循环 , 或者结束所在switch分支的执行 .
- Continye : 只能在循环中进行使用 .
Switch 的穿透性
- 如果代码执行行到没有写break的case块 , 执行完后将直接进入下一个case块执行代码 (而且不会进行任何匹配) , 直到遇到break才跳出分支,这就是switch 的穿透性.
例
三 . For 循环
for循环可以控制一段代码反复执行多次.
语法 : for( 初始化语句 ; 循环条件 ; 迭代语句 ) {
循环体语句(重复执行的代码);
}
例 :
For (int I = 0 ; I < 3 ; i++){
System.out.println("Hello World");
}
结果返回 三行 Hello World , 当执行到第四条数据时 I 大于 3 了,返回 flser ,结束循环.
四 . While 循环
while循环可以控制一段代码反复执行多次.
语法 : while(循环条件){
循环体语句 ( 被重复执行的代码 );
迭代语句;
}
例 :
Int I = 0;
While( I < 3 ){
System.out.println( "Hello Word" );
i++;
}
结果返回 三行 Hello World , 当执行到第四条数据时 I 大于 3 了,返回 flser ,结束循环.
注 : for 和 whlie 的使用规范 : 知道循环几次 ,就使用 for ; 不知道循环多少次的建议使用 whlie.
五 . Do-While 循环
先执行再判断循环条件.
语法 :
初始化语句;
Do{
循环体语句;
迭代语句;
}while(循环条件);
例 :
Int I = 0 ;
Do{
System.out.println("Hello World!");
i++;
}while( I < 3 );
Do-while循环的特点 : 一定会先执行一次循环体.
5.数组
数组 : 存储一批同种类型数据的内存区域 .
(1)静态初始化数组
定义初始化数组的形式 : 数据类型 [ ] 数组名 = new 数据类型 [ ] {元素1 , 元素2 , 元素 3 ...};
简写 : 数据类型 [ ] 数组名 = { 元素1 , 元素2 , 元素3 , ... };
注意 : 数组变量名中存储的是数组在内存中的地址 , 数组是引用类型 .
Length : 数组的长度属性 .
注意 :
- 数据类型 [ ] 数组名 也可以写成 数据类型 数组名 [ ] ;
- 什么类型的数组存放什么类型的数据 , 否则报错 .
- 数组一旦定义出来 , 程序执行的过程中 , 长度 , 类型就固定 .
(2) 动态初始化数组
定义数组的时候只确定元素的类型和数组的长度 , 之后再存入具体数据 .
定义动态初始化数组的形式 : 数据类型 [ ] 数组名 = new 数据类型 [ 长度 ] ;
int [ ] arr = new int [ 3 ] ;
两种数组定义的特点与区别
- 当前已经知道存入的元素值 , 用静态初始化 .
- 当前还不清楚要存入那些数据 , 要动态初始化 .
(3) 数组遍历
遍历 : 数据一个一个的进行访问 .
例 :
Int [ ] arr = { 12 , 45 , 32 , 56 , 32 };
For ( int I = 0 ; I < arr.length ; i++){
System.out,println( arr [ i ] );
}
(4) 数组的内存分配机制
方法区 : 字节码文件加载时进入的内存 .
栈内存 : 方法运行时所进入的内存变量也是在这里 .
堆内存 : new 出来的对象会在这块内存中开辟空间并产生地址 .
Java的基础语法(二)相关推荐
- java字节型的关键字_DAY06-07 Java的基础语法-注释、标识符、关键字、数据类型
Java的基础语法 注释 注释不会被执行,是给人看的 书写注释是一个非常好的习惯. 注释类型: (1)单行注释:// 注释内容 (2)多行注释:/ * - 注释内容-. * / (3)文档注释:/* ...
- 【Java 1】Java的基础语法
Java的基础语法 一.Java运算符 1.1.1 运算符和表达式 1.1.2 算术运算符 1.1.3 "+"号运算的特殊 1.2 赋值运算符 1.3 自增自减运算符 1.4 关系 ...
- java负数右移_收入囊中篇---Java程序基础(二)
前言: 本篇是接着上一篇更新的,如果没有阅读上一篇的话,可以查阅或回顾一下. 1.收入囊中篇---Java基础必备知识(一) 2.收入囊中篇---Java程序基础(二) Java程序基础目录 1.Ja ...
- Java初级·基础语法
基础语法* 01.关键字 关键字: Java预定义的有特殊含义的单词 特点 1.常用的开发工具高级记事本/IDE,能够变颜色的一些单词 2.都是小写字母组成 3.都是由特殊含义的单词 public : ...
- 黑马程序员JAVA 教程--基础语法
基础语法 注释 注释概述 注释分类 关键字 关键字概述 关键字特点 常量 常量概述 常量分类 数据类型 计算机存储单元 数据类型 数据类型内存占用和取值范围 变量 变量概述 变量定义 变量的使用 变量 ...
- java入门基础语法及核心机制
本文内容主要记载了我学习Java零基础教程视频的笔记和学习心得,内容主要包括:(1) Java环境的配置:(2) 基础语法:关键字.标识符.字面值.操作符.数据类型等: (3) 核心机制:封装.继承. ...
- 【超硬核】Java SE 基础语法知识点 (C语言快速转Java)
目录 1.Java程序基础 1.1 JDK和JRD 1.2 命令行操作 1.3 pubilic+class 1.4 字节码文件 2.标识符 2.1 标识符的组成 2.2 遵守驼峰命名方式 2.3 类名 ...
- java的基础语法和数据类型,IDEA
IDEA的用法 快捷方法 主函数:psvm 输出语句:sout java基础语法注释 注释:必须要写注释 单行注释:// 多行注释:/**/ 文档注释javaDoc:/***/ 平时写代码要注意规范 ...
- Java学习基础语法
Java 开发环境配置 Java 基础语法 Java 对象和类 Java 基本数据类型 Java 变量类型 Java 修饰符 Java 运算符 Java 循环结构 Java 分支结构 Java Num ...
最新文章
- 十八岁华裔天才携手「量子计算先驱」再次颠覆量子计算
- 如何修改app服务器数据库连接,app调用服务器数据库连接
- 天津盈克斯机器人科技_网红新科技,走进家居新时代|环渤海爱乐屋门窗amp;威卢克斯天窗双旦狂欢节送您一个温暖的家!...
- 做好项目,从正确定义问题开始!
- Opencv——霍夫变换以及遇到的一些问题
- SPI驱动0.96/1.3寸 OLED屏幕,易修改为DMA控制
- 高通qca9565网卡驱动_修改注册表让Surface Go的无线网卡支持频段选择
- python下载特别慢-Python3 用 urllib 下载图片非常慢,会是什么原因呢?
- 已测试:网上大神写的快手极速版脚本,autojs版快手极速版自动脚本下载
- 一篇文章彻底搞懂JVM常见垃圾收集器算法、常见收集器、CMS三色标记等(深度剖析)
- Python编程——实现屏幕广告语的滚动
- ODL+Mininet环境搭配(Ubuntu18.04,Python3.7)
- Fragment isAdded() returns false on an already added Fragment
- 将vscode打造成无敌的IDE(1)初步探索vscode,解放生产力
- 基于物理信息深度学习的交通状态估计:以LWR和CTM模型为例
- 微信红包和转账有哪些区别?原来还有这些不同!涨知识了
- CANopen协议 学习笔记
- 电子竞技作为一项全新的竞技体育项目,近年来发展迅猛,未来发展趋势
- 塑胶卡扣弹性计算公式_塑胶产品结构设计 卡扣
- 文件损坏如何修复?简单的方法