JAVA英文括号编码 java中括号转义_java非法转义字符


1、基础语法

Hello Wolrd

  • 首先定义类
    —— public class 类名
  • 在类定义之后加上一对大括号
    —— {}
  • 在大括号中间添加一个主(main)方法/函数
    —— public static void main(String[] args){}
  • 在主方法的大括号中间添加一行输出语句
    —— System.out.println("Hello World”)
  • 完整代码
  • public class HelloWorld{
    public class static void main(String[] args){
    System.out.println("Hello World!")
    }
    }
  • Javac —— 编译 javac HelloWorld.java
  • Java + HelloWorld 运行

初学者注意事项

  • 单词拼写问题
    — class > Class
    — String > string
    — System > system
    — main > mian
  • 中文符合问题
    — 提示非法字符

1.1、Java入门

1.1.0、注释

注释
// #单行注释
/*...*/ #多行注释
/...*/ #文本注释
JAVA 语句用 ; 分号结束。
命名
A、类:首字母大写
B、方法/函数:首字母小写第二个单词首字母大写
C、变量: 首字母小写第二个单词首字母大写
D、常量:全部字母大写
标识符
程序员对程序中的各个元素加以命名时,使用的命名记号,称为标识符。
标识符以字母 下划线(__) 美元符($)开始的一个字符序列,
后可跟 字母,下划线,美元符,数字。

1.1.1、关键字

abstractdefaultifprivatethisbooleandoimplementsprotectedthrowbreakdoubleimporpublicthrowsbyteelseinstanceofreturntransientcaseextendsintshorttrycatchfinalinterfacestatictfpvolatilecharfinallylongstrictfpvolatileclassfloatnativesuperwhileconstfornewswitchnullcontinuegotopackagesynchronized

1.1.2、常量

常量:程序执行中,值不可发生改变
变量:在程序执行中,值会发生变化

  • 常量分类
    —— A: 字符串常量 'DataScience’
    —— B: 整数常量 123
    —— C: 小数常量 1.23
    —— D: 字符常量 ‘a’,’1’
    —— E: 布尔常量 true ,false —— F: 空常量 (null、'’)
public


1.1.3、变量

变量的申明:
访问[修饰符] 数据类型 变量名称=初始值
变量的分类: 1、按照声明位置: 成员变量: 类的内部,方法的外部定义的变量 局部变量: 方法或代码块的内部定义的变量 区别: 成员变量有默认初始值,局部变量没有 成员变量的作用域在整个类的内部,局部变量在当前方法或代码块中

变量实例:


/**


1.1.4、数据类型

数据类型 —— Java是强类型语言,针对每一种数据都给出了明确的数据类型。 数据类型分类

  • A:基本数据类型
  • B:引用数据类型 (类、接口、数组)

基本数据类型(以及占用字节数)

  • A、整数
  • byte 1
  • short 2
  • int 4
  • long 8
  • B、浮点数
  • float 4
  • double 8
  • C、字符
  • char 2
  • D、布尔
  • boolean 1

注意

  • A:整数默认是int类型,浮点数默认是double类型
  • B:
  • 定义long类型数据的时候,要加L或者l,建议加L
  • 定义float类型数据的时候,要加F或者f,建议加F


JAVA英文括号编码 java中括号转义_数组_02


整型变量

类型占用储存空间表数范围byte1字节-128~127short2字节-215~215-1int4字节-231~231-1long8字节-263~263-1

浮点型变量

类型占用储存空间表数范围float4字节-3.403E38~3.403E38double8字节-1.798E308~1.798E308

字符型变量: char 一个字符2字节
布尔型变量: true false
符号常量 final 变量类型 变量名=初始化值

值常量

整型常量、浮点型常量、符号型常量、字符串常量、布尔型常量(true false) 空常量

转义字符含义b退格(backspace)t水平制表(Tab)f走纸换页,只对打印有效n换行r回车反斜杠字符'单引号字符"双引号字符ddd1--3位八进制数所代表的ASCII字符uxxxx1-4位十六进制数所代表的unicode字符

1.1.5、 计算机存储单元

bit(比特位) -----字节(byte)
单位换算:

  • 1B(字节) = 8it
  • 1KB = 1024B
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB
  • 1PB = 1024TB
  • 1ZB = 1024PB

1.1.6、标识符


标识符


1.1.7、运算符优先级

优先级运算符结合性1() [ ] .从左向右2! +(正) -(负) ~ ++ --从右向左3/ * %从左向右4+ (加) -(减)从左向右5《 》 >>>从左向右6<<=>> instanceof从左向右7== !=从左向右8& (按位与)从左向右9^从左向右10|从左向右11&&从左向右12||从左向右13?:从右向左14= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=从右向左

1.2、基本类型数据转换

1.2.1、定义变量


变量格式


Demo


public


1.2.2、变量定义的注意事项


package


1.2.3、类型转化


package


1.2.4、运算符

1.2.4.1、运算符

运算符: 用于 常量和变量操作的符号
表达式:用运算符号链接起来符合java语法的句子
EG: a,b a+b

1.2.4.2、运算符分类

1、算术运算符

+,-,*,/ ,%,++,--

+,-,*,/


//    +,-,*,/ 使用


% (取余)

%:用于获取 两个数据相除时候的余数 /: 用于获取 两个数据相除时候的商


int


+

+: 加法运算

  • 正常加法运算
  • int a =10;
  • int b = 12;
  • 字符参与加法运算,是拿字符在计算机中存储的数据值来参与运算的
  • “A” 65
  • ‘a’ 97
  • ‘0’ 48
  • 字符串参与加法运算,其实不是做加法,而是字符串的拼接
  • 例如: int a =1; int b =2;
  • System.out.println("hello”+a)
  • hello1

System.out.println(a+b+"hello”)
3hello

  • 注意

++,--

++,-- : 自增自减,用于对变量+1 或 -1

  • 单独使用:
  • 放在变量前后都可以,结果一样
  • 其它操作:
  • ++ 在后边,先拿变量做操作,然后变量再++
  • ++ 在前边,先变量++,再拿变量做操作
package


2、赋值运算符

赋值运算符:

  • 基本赋值运算符:=
  • 扩展赋值运算符:+=,-=,*=,/=,…..
package


3、关系运算符

关系运算符:

  • ==, !=,>,>=,<,>=
  • 关系运算符结果是 boolean类型.(false/true)

注意事项:

  • 不要把两个== 写成 = (除非你赋值)

4、逻辑运算符

逻辑运算符:

  • 释义:用于链接关系表达式
  • 逻辑运算分类:
  • &,|,^,!
  • &&, ||

&(或)

有false 则false

|(与)

有true则true

^(异或)

相同则false,不同则true

!(非)

true则false,false 则 true

&&

&& 和 & 的结果一样
&& 与 & 的区别:

  • && 有短路效果,左边为false,右边不执行
  • & 左边无论是什么,右边都会执行

||

|| 和 | 的结果一样
|| 与 | 的区别:

  • || 左边为true ,右边不执行
  • | 左边无论是啥,右边都执行

5、三元运算符

三元运算符:

  • 关系表达式?表达式1:表达式2

执行流程:

  • A: 计算关系表达式的值(true/false)
  • B: 结果展示
  • 如果是true,表达式1就是结果
  • 如果是false,表达式2就是结果
// 三元运算符


案例:取三个数中的最大值


// 获取三个数的最大值


1.2.5、键盘录入


package


录入数据求和


// 录入数据 并且求和


1.2.6、流程控制语句

顺序结构

从上往下,依次执行!

选择结构

if语句:

  • if(关系表达式){
    语句体
    }
  • 执行流程
  • A: 首先计算关系表达式的值,看是true/false
  • B: 如果是true,就执行语句体
  • C: 如果是False,则不执行

// if 关系表达式 int a = 10; int b = 20; if(a==b){ System.out.print("a=b") } int c = 10; if(a==c){ System.out.println("a=c") }

  • if(关系表达式){
    语句体1;
    }else{
    语句体2;
    }

// 判断一个数 是偶数还是奇数 int a = 100; // 重新给a赋值 a = 99; if(a%2 ==0){ System.out.println("a为偶数"); }else{ System.out.println("a为奇数"); }

  • if(关系表达式1){
    语句体1;
    }else if(关系表达式2){
    语句体2;
    }

    else{
    语句体n+1;
    }

// 多个if 表达式 int x = 10; int y; if (x >= 3){ y = 2 * x + 1; } else if (x >= -1 && x<3){ y = 2 * x; }else if (x <= -1){ y = 2 * x - 1; }else { y = 0; System.out.println("不存在x"); } System.out.println("y"+y);

键盘录入案例比较


// 键盘录入判断最大值


1.2.7、选择结构语句

switch


package


1.2.8、循环结构语句

1.2.8.1、for


package


1-100 偶数和


// 结果:2550


水仙花


//经典案例 水仙花数


1.2.8.2、while


package


1.2.8.3、do…while


package


1.2.8.4、 三种循环语句区别

A: do…while 循环至少执行一次循环体
B: for和 while 必须判断条件成立才执行循环体


package


for 和 while 区别

for循环结束后,初始化变量不可被使用。
while 循环结束后,初始化变量可以被使用。
推荐使用顺序:

  • for
  • while
  • do…while
// for 和 while 的区别


1.2.9、跳转控制语句

Break(中断)

break:中断
使用场景:

  • A:switch语句中
  • B:循环中

注意:

  • 离开场景,将无意义。

作用:

  • 用于结束循环
package


Continue(继续)

continue:继续
使用场景:

  • 循环中

作用:

  • 结束一次循环,进入下一次循环。
package


1.3、Random

Random:用于产生随机数
使用步骤:

  • A:导包
  • import java.util.Random;
  • B:创建对象
  • Random r = new Random();
  • C:获取随机数
  • int number = r.nextInt(10)
  • 数据范围:[0,10) 包括0,但不包括10
package


猜数字游戏


package


1.4、数组

数组:存储同一种数据类型的多个元素的容器
取值:

  • 数组名 【索引】

定义格式:

  • A:数据类型[] 数组名;(推荐方式)
  • B:数据类型 数组名[];
  • 案例:
  • int[] arr; 定义int类型的数组,名称为 arr
  • int arr[];定义int类型的变量,变量名为arr数组

数组初始化:

  • A:数组开辟内存空间,为数组中的每个元素赋值
  • B:数组初始的方式:
  • a:动态初始化 只给出长度,系统给初始化值
  • b:静态初始化 给出初始值,由系统决定长度

动态初始化:

  • 数据类型[] 数组名 = new 数据类型[数组长度];

静态初始化:

  • 数据类型[] 数组名 = new 数据类型[]{元素1,元素2….};
  • 简化格式:
  • 数据类型[] 数组名 ={元素1,元素2,…}

动态初始化


package


静态初始化


package


常见小问题

小问题:

  • ArrayIndexOutOfBoundsException: 数组索引越界异常
  • 原因
  • NullPointerException:空指针异常
  • 原因

数组遍历练习


package


取最值

思路:

  • A:先拿数组中的一个元素做参照物
  • B:遍历数组,让后边所有元素依次和参照物进行比较,如果元素比参照物大,就留下
  • C:整个循环遍历比较,留下的就是最大值
package


二维数组

二维数组: 元素为一堆数组的数组
定义格式:

  • A:数据类型[ ] [ ] 数组名; (推荐的方式)
  • B:数据类型 数组名[ ] [ ]
  • C:数据类型[ ] 数组名[ ]

初始化:

  • A: 动态初始化
  • 数据类型[ ] [ ] 数组名 = new 数据类型[m] [n];
  • m 表示的是 二维数组中一维数组的个数
  • n 表示的是 一维数组中的元素个数
  • B: 静态初始化
  • 数据类型[ ] [ ] 数组名 = new 数据类型[ ] [ ] {{元素…},{元素….}}
  • 简化格式:
  • 数据类型[ ] [ ] 数组名 = {{1,…},{2….},{3….}}

取值:

  • 二维数组名配合索引可以获取到每一个一维数组arr[索引]
  • 一维数组配合索引名可以获取到数组中的元素arr[索引] [索引]

二维数组取值


package


1.5、函数

方法使用

方法: 特定功能的代码块
方法定义格式:

  • 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ..){
    方法体;
    return 返回值;
    }

格式解释:

  • A:修饰符 public static
  • B:返回值类型 限定返回值的数据类型
  • C:方法名 方便我们调用方法的名字
  • D:参数类型 用于限定调用方法时传入数据的类型
  • E:参数名 用于接收调用方法时传入的数据变量
  • F: 方法体 完成功能代码
  • G:return 结束方法,并且把返回值带给调用者

方法明确:

  • A:返回值类型 明确功能结果的数据类型
  • B:参数列表 明确有几个参数,以及参数的数据类型

方法调用:(有明确返回值的调用)

  • A:单独调用 没有意义
  • B:输出调用,有意义,但是不够好(因为我想要拿结果进一步操作)
  • C:赋值调用

方法调用:(void修饰的方法)

  • 如果一个方法没有明确的返回值,也不能空开返回值,用void表示该方法无返回值类型
  • 只能输出调用。

求和方法


package


键盘录入两个数据判断是否相等


package


水仙花数


package


方法重载

不能出现参数名以及参数条件一致的方法
特点:

  • 方法名相同,参数不同
  • 参数不同
  • 参数数量不同
  • 参数个数不同

注意:在调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法。

比较两个数据是否相等


package


形式参数

如果方法的参数是基本数据类型:
形式参数的改变不影响实际参数
如果方法的参数是引用数据类型:
形式参数的改变直接影响实际参数

数组遍历


package


1.6、断点调试

断点调试的作用:
A: 查看程序的执行流程
B: 调试程序
断点:
-- 标记 哪里需要点哪里

1.7、基础练习

不死神兔计算


package


评委评分

需求:
在编程竞赛中,有6个评委为参赛选手打分,分数为0-100的整数分。
选手最后的得分为,去掉一个最高分与最低分,剩下4个评委的平均值
分析:

  • A:定义一个长度为6的数组
  • B:键盘录入评委的分数
  • C:写方法实现最高分、最低分
  • D:写方法求评委分数和
  • E:平均分:(和-最高分-最低分)/(arr.length-2)
  • F:输出平均分
package


键入数组反转

需求:

  • 1、键盘录入5个int的数据存在arr中
  • 2、定义方法将arr数组中的内容反转
  • 3、定义方法对反转后的数组进行遍历
package