java 基本程序设计结构讲解
Posted 千斗五十铃呐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 基本程序设计结构讲解相关的知识,希望对你有一定的参考价值。
- java基本数据类型:
整型 | byte, short, int, long |
浮点类型 | float, double |
char 类型 | char |
boolean 类型 | boolean |
整型表示的是没有小数部分的数值,可以是负数;浮点型表示的是有小数部分的数值,也可以是负数;char 表示的是单个字符;boolean 类型有两个值,true 和 false,用来判断逻辑条件
注意:
长整型 long 后面必须有 l 或者 L ,否则在 int 取值范围内是 int (推荐写大写的 L,小写的不容易分辨是 1 还是 l)
float 类型后面需要带 F 或 f ,否则默认为 double
数据类型可以相互转换,boolean 不可以转换,但有时会有信息丢失
byte < short(char) < int < long
int < double float < double (这些从小到大的转换不会损失信息)
int < float long < float long < double (这些转换会有精度损失)
小到大会自动转换,也可以使用强制转换,在数值前面加(类型)
- 变量的声明与初始化
我们要用到上面的几种类型需要先声明和初始化 (下面代码 // 后为注释,不会被执行)
int A; // 这是对 A 进行声明
A = 2; // 这是对 A 进行初始化,初始化 A 为 2
int B = 2; // 声明和初始化同时进行
long C = 3; // 此时 C 实际是 int 类型
long D = 4L; // 此时 D 为 long 类型
float E = 5.2F; // 此时 E 为 float 类型,如果没有 F 则是 double
double M = (float)2.3; // 将 double 类型的 M 转换为 float
- 运算符
符号 | |
+ | 加号 |
- | 减号 |
* | 乘 |
/ | 除(参与 / 运算的 2 个数是整数的时候表示整数除法,否则是浮点除法) |
% | 取模(整数的求余操作) |
&& | 逻辑与(全部都是 true 为 true,否则为 false) |
|| | 逻辑或(一个是 true 就是 true,全为 false 才是 false) |
! | 逻辑非(取反 true 为 false,false 为 true) |
>, <, == | 分别为 大于 , 小于, 等于(比较数值) |
>=, <=, != | 分别为 大于等于, 小于等于, 不等于(比较数值) |
===, !== | 分别为 全等于, 不全等于 (比较数值的类型和大小 |
++ | 自增 1 |
-- | 自减 1 |
+=, -=,*=, /=, %= | a += 1;等价于 a = a + 1; |
?= | 布尔表达式 ? 值 1 :值2(入锅布尔表达式为 true 返回值 1,false 返回值 2 |
<<, >>, >>> | 左移,右移,无符号右移运算符(向左向右移动 n 位,即乘以 2 的 n 次方,无符号右移则省去符号) |
^ | 位异或(相同为false,不同为true) |
& | 位与 |
| | 位或 |
~| | 位非 |
注意:逻辑运算符和关系运算符返回的都是布尔值,即 true 或 false
运算符有优先级,自增自减在使用时数值前后也会有区别
[] . () (方法调用) | 从左向右 |
! ` ++ -- +(一元运算) - (一元运算) (强制转换) new | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
<, <=, >, >=, instanceof | 从左向右 |
==, != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
=, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>= | 从右向左 |
注意:从右向左是右边先运算
a += b += c; // 这里为 a += (b += c);
// 位运算
int I = 3, J;
J = I << 2; // 这里 J 为 3 * (2 ^ 2) 等于 12
- 字符串
java 中字符串有简单的方式,用 String 定义,为引用数据类型,与基本类型使用方式一样,同时有一些方法对字符串进行拼接,比较等,也可以用 “+” 号连接。如
String a = "hello,world";
String b = "fun";
String c = a + b; // 将 a 和 b 连接起来
String d = c.substring(0, 4); // 取 c 的前 1 到 4 个
System.out.println(c); // 结果为 hello,world;
System.out.println(d); // 结果为 hell;
- 流程控制
首先在 java 中,不允许在一个作用域内定义相同的变量!如
public static void main (String[] args)
int a = 2;
for (;;)
int a = 2; // 编译器会报错
a++;
if else 语句
if(布尔表达式) else if (布尔表达式) else 。如果 括号内为 true 执行 if后第一个花括号,满足 else if 则同理,否则执行 else 后。如果只有 2 个就舍去 else if,无限个就 else if 无限写 (不推荐,一般只用 if 或 if else)
循环:while 循环,do while 循环,for 循环。
while 循环结构为 while (布尔表达式) 循环体
do while 循环为 do while(布尔表达式)
for 循环为 for (表达式1;布尔表达式;迭代条件) 循环体
for 循环还有一个增强 for 循环 for each 循环。如果需要 for 循环内的所有元素 for each 更简洁,但不需要就只能使用 for 循环
注意:while循环是先判断在执行,do while 是先执行在判断(后者至少会被执行一次),for 循环括号里的语句由分号隔开
嵌套循环
即循环体中有循环。如
for (int a = 1; a < 5; a++)
for (int b = 1; b < 4; b++)
int c = a + b;
可以一直嵌套下去(不推荐,毕竟用的少)
continue 和 break 的运用
continue 指跳过这一次循环,执行下一步
break 指跳出本层循环,如果有嵌套需要多个break
循环的结束
布尔表达式为 false 或者 遇到 break 语句(continue 标签和 return 不在讨论范围内)
switch 语句
多个选择时用 if else 会很慢 所以有 switch 语句
switch 用法
switch(标签)
case 标签1:……;break;
case 标签2:……;break;
case 标签3:……;break;
default :……;break;
注意:switch 具有穿透性,每一个 case 后都需要 break 来中断,否则会执行该标签和后面标签的语句直到完或遇到 break
- 数组
数据存储相同类型的序列,并使用一个名字命名,进行统一管理。是一种数据结构。
数组需要数组名,数组中的元素类型,下标,长度。
数组属于引用数据类型,但数组中的元素可以是任何数据类型。数组在内存中是连续的一块空间。数组长度一旦确定不能改变。
数组的定义可以分为静态定义,动态定义,但不能同时定义。数组的声明后有默认的初始化值。数组的下标从 0 开始,数组的遍历可以用循环遍历
整型:byte, short, int, long | 0 |
浮点型:float, double | 0.0 |
字符型:char | 0 或 '\\u0000' (不是数字 0 ,是ASCLL码 0) |
boolean 型 | false(在计算机里 0 代表的是 false) |
引用数据类型 | null |
如
int c[] = new int[3]; // 动态定义,这种写法 [] 在声明的名后,正确但不推荐,
// 下面的是标准的写法
int[] b = new int1, 2, 3; // 静态定义
int[] c = new int[4]; // 动态定义,此时是整型,初始化值为 0
for (int i = 0; i < a.length; a++)
System.out.println(a[i]); // 遍历数组 a,并输出每一个元素
数组还分多维数组,即大于等于 2 的维度的数组,大多数情况下使用多维数组使用的是二维数组。二维数组即一维数组作为另外的一维数组的元素而形成的数组。多维同理。和一维数组一样可以调用二维数组中的元素,也是使用下标的方法,因为二维数组是一维数组为元素而形成的数组,所以一维数组的长度指有几个元素。多维数组的遍历需要嵌套循环,几维就用几个循环,同时它们为嵌套循环
int[][] a = new int[][]1, 2, 3, 4, 5, 6,7, 8, 9; // 静态定义二维数组
int[][] b = new int[3][4]; // 动态定义二维数组方法一
int[][] c = new int[3][]; // 方法二:后面的 [] 里不写数字,但前面的必须写!
System.out.println(a[0][0]); // 输出为 1
System.out.println(a[1][2]); // 输出为 6
System.out.println(b.length); // 输出结果为 3,即前面的 [] 里的数字
for (int i = 0; i < a.length; i++)
for (int j = 0; j < a[i].length; j++)
System.out.print(a[i][j]); // 输出第一个元素中的所有元素,即输出 123
恭喜你,看完了这篇博客并学会了 java 基本程序设计,觉得不错记得 3 连哦
以上是关于java 基本程序设计结构讲解的主要内容,如果未能解决你的问题,请参考以下文章