java 基本程序设计结构讲解

云惠网小编 2022年1月16日11:17:47
评论
3655字阅读12分11秒
摘要

java基本数据类型:基本数据类型 整型 byte, short, int, long 浮点类型 float, double char 类型 char boolean 类型 boolean 整型表示的是没有小数部分的数值,可以是负数;浮点型表示的是有小数部分的数值,也可以是负数;char 表示的是单个字符;boolean 类型有两个值,true 和 false,用来判断逻辑条件注意:长整型 long 后面必须有 l 或者 L ,否则在 ..

广告也精彩
算术运算符
符号
+ 加号
- 减号
*
/ 除(参与  / 运算的 2 个数是整数的时候表示整数除法,否则是浮点除法)
% 取模(整数的求余操作)

数据存储相同类型的序列,并使用一个名字命名,进行统一管理。是一种数据结构。

循环的结束

  • java基本数据类型:
  • 数组
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
}
}
  • 运算符

           运算符有优先级,自增自减在使用时数值前后也会有区别


float 类型后面需要带 F 或 f ,否则默认为 double

byte < short(char) < int < long

if(布尔表达式){} else if (布尔表达式){} else {}。如果 括号内为 true 执行 if后第一个花括号,满足 else if 则同理,否则执行 else 后。如果只有 2 个就舍去 else if,无限个就 else if 无限写 (不推荐,一般只用 if 或 if else)

数组属于引用数据类型,但数组中的元素可以是任何数据类型。数组在内存中是连续的一块空间。数组长度一旦确定不能改变。

自增自减以及复合赋值运算符,三元运算符

++

自增 1 
-- 自减 1
+=, -=,*=, /=, %=  a += 1;等价于 a = a + 1;
?= 布尔表达式 ? 值 1 :值2(入锅布尔表达式为 true 返回值 1,false 返回值 2
逻辑运算符
&& 逻辑与(全部都是 true 为 true,否则为 false)
|| 逻辑或(一个是 true 就是 true,全为 false 才是 false)
逻辑非(取反 true 为 false,false 为 true)
数组类型的初始化值
整型:byte, short, int, long

0

浮点型:float, double 0.0
字符型:char 0 或 '\u0000' (不是数字 0 ,是ASCLL码 0)
boolean 型 false(在计算机里 0 代表的是 false)
引用数据类型 null
switch(标签){
case 标签1:……;break;
case 标签2:……;break;
case 标签3:……;break;
default :……;break;
}
a += b += c; // 这里为 a += (b += c);
// 位运算
int I = 3, J;
J = I << 2; // 这里 J 为 3 * (2 ^ 2) 等于 12

continue 指跳过这一次循环,执行下一步

循环:while 循环,do while 循环,for 循环。

注意:逻辑运算符和关系运算符返回的都是布尔值,即 true 或 false

位运算符
<<, >>, >>> 左移,右移,无符号右移运算符(向左向右移动  n 位,即乘以 2 的 n 次方,无符号右移则省去符号)
^ 位异或(相同为false,不同为true)

&

位与
| 位或
~| 位非

switch 用法

长整型 long 后面必须有 l 或者 L ,否则在 int 取值范围内是 int (推荐写大写的 L,小写的不容易分辨是 1 还是 l)

基本数据类型
整型 byte, short, int, long

浮点类型

float, double
char 类型 char
boolean 类型 boolean

首先在 java 中,不允许在一个作用域内定义相同的变量!如

多个选择时用 if else 会很慢 所以有 switch 语句

可以一直嵌套下去(不推荐,毕竟用的少)

while 循环结构为 while (布尔表达式) {循环体}

注意:从右向左是右边先运算

continue 和 break 的运用

int c[] = new int[3]; // 动态定义,这种写法 [] 在声明的名后,正确但不推荐,
// 下面的是标准的写法
int[] b = new int{1, 2, 3}; // 静态定义
int[] c = new int[4]; // 动态定义,此时是整型,初始化值为 0
for (int i = 0; i < a.length; a++) {
System.out.println(a[i]); // 遍历数组 a,并输出每一个元素
}
for (int a = 1; a < 5; a++) {
for (int b = 1; b < 4; b++) {
int c = a + b;
}
}

break 指跳出本层循环,如果有嵌套需要多个break

注意:

注意:while循环是先判断在执行,do while 是先执行在判断(后者至少会被执行一次),for 循环括号里的语句由分号隔开

整型表示的是没有小数部分的数值,可以是负数;浮点型表示的是有小数部分的数值,也可以是负数;char 表示的是单个字符;boolean 类型有两个值,true 和 false,用来判断逻辑条件

switch 语句

数组需要数组名,数组中的元素类型,下标,长度。

do while 循环为 do {} while(布尔表达式)

for 循环为 for (表达式1;布尔表达式;迭代条件) {循环体}

即循环体中有循环。如


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

数组的定义可以分为静态定义,动态定义,但不能同时定义。数组的声明后有默认的初始化值。数组的下标从 0 开始,数组的遍历可以用循环遍历

嵌套循环

if else 语句

数组还分多维数组,即大于等于 2 的维度的数组,大多数情况下使用多维数组使用的是二维数组。二维数组即一维数组作为另外的一维数组的元素而形成的数组。多维同理。和一维数组一样可以调用二维数组中的元素,也是使用下标的方法,因为二维数组是一维数组为元素而形成的数组,所以一维数组的长度指有几个元素。多维数组的遍历需要嵌套循环,几维就用几个循环,同时它们为嵌套循环

public static void main (String[] args) {
int a = 2;
for (;;) {
int a = 2; // 编译器会报错
a++;
}
}
  • 流程控制

注意:switch 具有穿透性,每一个 case 后都需要 break 来中断,否则会执行该标签和后面标签的语句直到完或遇到 break

  • 字符串

小到大会自动转换,也可以使用强制转换,在数值前面加(类型)

布尔表达式为 false 或者 遇到 break 语句(continue 标签和 return 不在讨论范围内)

数据类型可以相互转换,boolean 不可以转换,但有时会有信息丢失

int < double         float < double (这些从小到大的转换不会损失信息)

  • 变量的声明与初始化
运算符优先级
[] . () (方法调用) 从左向右
! ` ++ -- +(一元运算) - (一元运算) (强制转换) new 从右向左
* / % 从左向右
+ - 从左向右
<< >> >>> 从左向右
<, <=, >, >=, instanceof 从左向右
==, != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
=, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>= 从右向左

int < float      long < float      long < double (这些转换会有精度损失)

for 循环还有一个增强 for 循环 for each 循环。如果需要 for 循环内的所有元素 for each 更简洁,但不需要就只能使用 for 循环

我们要用到上面的几种类型需要先声明和初始化 (下面代码 // 后为注释,不会被执行)

恭喜你,看完了这篇博客并学会了 java 基本程序设计,觉得不错记得 3 连哦

关系运算符
>, <, == 分别为 大于 , 小于, 等于(比较数值)
>=, <=, != 分别为 大于等于, 小于等于, 不等于(比较数值)
===, !== 分别为 全等于, 不全等于 (比较数值的类型和大小

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;

本文转自 https://blog.csdn.net/m0_64410687/article/details/122476567

腾讯云618
云惠网小编
SpringCloud -- Config、Bus解析 java

SpringCloud — Config、Bus解析

1、Config1.1、概述简介1. 分布式面临的问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要...
Java数据结构-了解复杂度 java

Java数据结构-了解复杂度

2.实例分析与计算  四.写在最后  // 计算斐波那契递归fibonacci的时间复杂度 int fibonacci(int N) { return N < 2 ? N : fibonacci...
Java数据结构-认识顺序表 java

Java数据结构-认识顺序表

目录二.顺序表1.概念及结构2.顺序表的实现打印顺序表获取顺序表的有效长度在pos位置新增元素判断是否包含某个元素查找某个元素对应的位置获取/查找pos位置的元素给pos位置的元素...
腾讯云618

发表评论