JAVA 基础知识 -- 小白入门必看

举报
测试-开发阿泽 发表于 2022/12/26 15:21:19 2022/12/26
【摘要】 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程,本文包含一些Java基础知识,以便刚开始想学JAVA的朋友更容易上手

Java

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程,本文包含一些Java基础知识,以便刚开始想学JAVA的朋友更容易上手

字面量

数据在程序中的书写格式 如:整数,小数,布尔值,字符,字符串,空值

变量

  1. 变量格式:数据类型 变量名称=初始值
  2. 变量作用:存储数据,且数据可改变

定义变量注意事项

  1. 不能定义不数据类型不同的数据
  2. 同一范围内不能定义两个相同的变量
  3. 定义时可以没初始值,使用时一定要赋值

数据类型分类

  1. 引用数据类型 Sting (判断字符串相等:equals)
  2. 基本数据类型
  • 整数:byte,short, int(默认), long
  • 浮点数:float,double(默认)
  • 字符:char
  • 布尔:boolean只有(true,false)

关键字

  1. 关键字Java自己保留的一些单词 如(public,class,main)
  2. 关键字不能做类名或变量名

标识符(由一些字母符号组成)

  1. 基本要求:数字,字母,下划线,美元($)符号
  2. 强制要求:不能以数字开头,不能是关键字,区分大小写
  3. 驼峰命名法:第一个单词首字母小写,第二个单词首字母大写(userName)

数据类型转换

类型范围小的变量可以赋值给类型范围大的变量

byte,short,int,long,float,double

image.png

表达式类型转换

类型范围小的表达式类型会自动转换为类型范围大的

表达式最终类型由表达式中最高类型决定

注意:byte,short,char直接转成int类型进行运算

强制转换:

类型大的数据或者变量不能复制给类型范围小的变量。

可以强制将类型范围大的数据或变量转换为类型范围小的。

注意

可能出现数据丢失。

小数转换成整数只会保留小数点前的整数。

算术运算符

运算符 说明
+ 加法,连接符(拼接)
- 减法
* 乘法
/ 除法(商数)
% 取余数(模)
++ 自加
自减

注意:在运算中,自加(++)自减(–)在数字前,先自加/自减,再运算,在数字后,先运算,再自加/自减

赋值运算符(隐含强制转换)

运算符 说明
= 把左边的值赋值给右边
+= 左右两边相加
-= 左右两边相减
*= 左右两边相乘
/= 左的值除以右的值
%= 把左边的值模以右边的值的结果

比较运算符, 结果是一个布尔值

运算符 描述 写法 返回值
== 等于 7==8 false
!= 不等于
!== 恒不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于

逻辑运算符

运算符 描述
& 与:遇false则false
| 或:遇true则true
非:取反
^ 结果一样为true,不一样为false

短路逻辑运算符

运算符 描述
&& 左边为false,右边不执行
|| 左边为true,右边不执行

三元运算符

判断条件?真的值:假的值

优先级:

image.png

Java流程控制语句

1、顺序结构:程序自上而下输出(Java默认结构)

2、分支结构

IF分支:根据判定的结果(真或假),来决定执行那一条语句。

三种格式:

格式一:

if(条件表达式){
   语句体;
}

格式二:

if(条件表达式){
    语句体1}else{
   语句体2}

格式三:

if (条件表达式1) {
     语句1;
 }
 else if(条件表达式2) {
     语句体2;
 }
 else {
     语句体3;
 }

switch分支:匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式良好

格式:

switch(表达式){
        case1:
           执行体1;
           break;
        case 值二:
           执行体2;
            break;
        ……
        default:
          执行体3;
          break;(可选,建议写上)
}

注意:

  • 表达式类型只能是byte,short,int,char,枚举,string;不支持double,float,long。
  • case输出的值不允许重复,且只能是字面量,不能是变量
  • 不要忘记写break,否则会出现穿透现象;

3、循环结构

循环:控制一段代码反复执行很多次。

while:

当指定的条件为true时循环执行代码码,条件也支持非boolean类型的条件

语法:

while(循环条件){
   循环体语句;
   迭代语句;
}

示例

int i=0;

while(i<3){

system.out.println("hello  word")

i++

}

do-while:

最少会执行1次

语法:

初始化语句;
do {
  循环体语句;
  迭代语句;
}while(循环条件)
示例
int i=0;
do {
system.out.println("hello  word")
i++
}while(i<3);

for语句:

指定循环次数

语法

for(初始化语句;循环条件;迭代语句){
    需要执行的代码块;(重复执行的代码)
}
循环语法 对比
for for的变量的声明在语句里面,用for循环的语句,循环的次数是指定的
while 如果循环的次数不确定的情况下,就使用while语句
do while 不管条件是否满足,都会至少执行一次

嵌套循环:

特点:外部循环每循环一次,内部循环全部执行完。

示例:

for(int i=0;i<=3;i++){

for(int j=0;j<5;j++){

system.out.print(*);

}

system.out.println();

}

跳转关键字:

break:直接跳出,不再执行

continue:跳出本次循环,不影响整体循环

数组

定义:数组就是用来存储一批同种类型数据的内存区域

静态初始化数组

定义的时候直接给数组赋值

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

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

数组变量名中存储数组在内存中的地址信息,数组是引用类型

静态初始化数组-数组访问

数组的访问:数组名称[索引]

数组的长度属性:数组名称.length

动态初始化数组

只确定元素的类型和数组的长度,之后再存入具体数据

格式:数据类型[ ]数组名= new 数据类型[长度]

动态初始化数组-总结

两种数组定义时的特点和场景有什么区别?

1,当前已经知道存入的元素值,用静态初始化。

2,当前还不清楚要存入哪些数据,用动态初始化。

元素默认规则

数据类型 明细 默认值
基本数据类型 byte,short,char,int,long 0
float,double 0.0
boolean false
引用类型 类,接口,数组,String null

数组遍历

遍历:就是一个一个数据的访问

搜索,数据统计等等都需要用到遍历

数组遍历-数组元素求和

如何实现批量数据的求和?

1,使用数组存储批量数据

2,遍历数组中的每个数据,然后定义变量把他们累加起来

数组遍历-数组求最值

①数据拿到程序中去,用数组装起来。

②定义一个变量用于记录最大值,这个变量建议默认存储第一个元素值作为参照。

③遍历数组的元素,如果该元素大于变量存储的元素,则替换变量存储的值为该元素。

④循环结束后输出最大值变量即可。

int [] a={50,60,20,-30,40,50};
 int max=a[0];
for (int b=1;b<a.length;b++){
    if (max<a[b]){
        max=a[b];
    }
}
 System.out.println(max);

简介

方法是一种语法结构,它可以把一段代码封装成一个功能,以方便重复调用

特点:

提高了代码的复用性

让程序的逻辑更清晰

格式:

修饰符 返回值类型 方法名(形参列表){
       方法体代码(需要执行的功能代码)
      return 返回值;
}

方法的常用问题

方法的编写顺序无所谓

方法与方法之间是平级关系,不能嵌套定义

基本类型数据传递

Java的参数传递机制:值传递

在传输实参给方法的形参的时候,并不是传输实参变量本身, 而是传输实参变量中存储的值,这就是值传递。

基本类型的参数传输存储的数据值。

引用类型数据类型

引用类型的参数传输存储的地址值。

基本类型和引用类型的参数在传递的时候有什么不同

都是值传递。

基本类型的参数传输存储的数据值。

引用类型的参数传输存储的地址值。

方法重载

定义:同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法是重载方法

作用:可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。

方法重载的识别技巧

1,只要是同一个类中,方法名称相同、形参列表不同,那么他们就是重载的方法,其他都不管!(如:修饰符,返回值类型都无所谓)

2,形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。

return关键字单独使用

return; —> 可以立即跳出并结束当前方法的执行; return关键字单独使用可以放在任何方法中

如果要直接结束当前方法的执行,怎么解决?

return; 跳出并立即结束所在方法的执行。

break; 跳出并结束当前所在循环的执行。

continue; 结束当前所在循环的当次继续,进入下一次执行。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。