目录

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的基础语法(二)相关推荐

  1. java字节型的关键字_DAY06-07 Java的基础语法-注释、标识符、关键字、数据类型

    Java的基础语法 注释 注释不会被执行,是给人看的 书写注释是一个非常好的习惯. 注释类型: (1)单行注释:// 注释内容 (2)多行注释:/ * - 注释内容-. * / (3)文档注释:/* ...

  2. 【Java 1】Java的基础语法

    Java的基础语法 一.Java运算符 1.1.1 运算符和表达式 1.1.2 算术运算符 1.1.3 "+"号运算的特殊 1.2 赋值运算符 1.3 自增自减运算符 1.4 关系 ...

  3. java负数右移_收入囊中篇---Java程序基础(二)

    前言: 本篇是接着上一篇更新的,如果没有阅读上一篇的话,可以查阅或回顾一下. 1.收入囊中篇---Java基础必备知识(一) 2.收入囊中篇---Java程序基础(二) Java程序基础目录 1.Ja ...

  4. Java初级·基础语法

    基础语法* 01.关键字 关键字: Java预定义的有特殊含义的单词 特点 1.常用的开发工具高级记事本/IDE,能够变颜色的一些单词 2.都是小写字母组成 3.都是由特殊含义的单词 public : ...

  5. 黑马程序员JAVA 教程--基础语法

    基础语法 注释 注释概述 注释分类 关键字 关键字概述 关键字特点 常量 常量概述 常量分类 数据类型 计算机存储单元 数据类型 数据类型内存占用和取值范围 变量 变量概述 变量定义 变量的使用 变量 ...

  6. java入门基础语法及核心机制

    本文内容主要记载了我学习Java零基础教程视频的笔记和学习心得,内容主要包括:(1) Java环境的配置:(2) 基础语法:关键字.标识符.字面值.操作符.数据类型等: (3) 核心机制:封装.继承. ...

  7. 【超硬核】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 类名 ...

  8. java的基础语法和数据类型,IDEA

    IDEA的用法 快捷方法 主函数:psvm 输出语句:sout java基础语法注释 注释:必须要写注释 单行注释:// 多行注释:/**/ 文档注释javaDoc:/***/ 平时写代码要注意规范 ...

  9. Java学习基础语法

    Java 开发环境配置 Java 基础语法 Java 对象和类 Java 基本数据类型 Java 变量类型 Java 修饰符 Java 运算符 Java 循环结构 Java 分支结构 Java Num ...

最新文章

  1. 十八岁华裔天才携手「量子计算先驱」再次颠覆量子计算
  2. 如何修改app服务器数据库连接,app调用服务器数据库连接
  3. 天津盈克斯机器人科技_网红新科技,走进家居新时代|环渤海爱乐屋门窗amp;威卢克斯天窗双旦狂欢节送您一个温暖的家!...
  4. 做好项目,从正确定义问题开始!
  5. Opencv——霍夫变换以及遇到的一些问题
  6. SPI驱动0.96/1.3寸 OLED屏幕,易修改为DMA控制
  7. 高通qca9565网卡驱动_修改注册表让Surface Go的无线网卡支持频段选择
  8. python下载特别慢-Python3 用 urllib 下载图片非常慢,会是什么原因呢?
  9. 已测试:网上大神写的快手极速版脚本,autojs版快手极速版自动脚本下载
  10. 一篇文章彻底搞懂JVM常见垃圾收集器算法、常见收集器、CMS三色标记等(深度剖析)
  11. Python编程——实现屏幕广告语的滚动
  12. ODL+Mininet环境搭配(Ubuntu18.04,Python3.7)
  13. Fragment isAdded() returns false on an already added Fragment
  14. 将vscode打造成无敌的IDE(1)初步探索vscode,解放生产力
  15. 基于物理信息深度学习的交通状态估计:以LWR和CTM模型为例
  16. 微信红包和转账有哪些区别?原来还有这些不同!涨知识了
  17. CANopen协议 学习笔记
  18. 电子竞技作为一项全新的竞技体育项目,近年来发展迅猛,未来发展趋势
  19. 塑胶卡扣弹性计算公式_塑胶产品结构设计 卡扣
  20. 文件损坏如何修复?简单的方法

热门文章

  1. Word文档误删怎样恢复?6种实用方法分享给你
  2. python word2vec怎么用_小白看Word2Vec的正确打开姿势|全部理解和应用
  3. 一年Java开发经验面试招行总结
  4. Android Jason数据解析及显示
  5. matlab实现四重积分和多重积分
  6. 数据结构和算法学习网站
  7. 计算机课题推荐人意见,课题申报书推荐人意见
  8. 人脸检测实战进阶:使用 OpenCV 进行活体检测
  9. 打了一台滴滴D1后,我开始思考今后还要买车吗?
  10. 批量下载sra文件linux,Linux下从NCBI批量下载SRA数据的sra和aspera方法