Java语言基础

1 Java语言基础组成

  • 关键字
  • 标识符
  • 注释
  • 常量和变量
  • 运算符
  • 语句
  • 函数
  • 数组

1.1 关键字
定义:被Java语言赋予了特殊含义的单词
特点:关键字中所有字母都为小写
例如:
public、class 、interface 、byte、 short、 int等等这些被Java语言赋予了特殊含义的单词

1..2 标识符
其实就是在程序中自定义的名词。比如类名,变量名,函数名。
由26个英文字母大小写,数字:0-9 符号:_ $ 组成。
注意定义合法标识符规则:
1)数字不可以开头。
2)不可以使用关键字。

1.3 注释
定义:用于注解说明解释程序的文字就是注释。
提高了代码的阅读性。
Java中的注释格式:
• 单行注释
格式: //注释文字
• 多行注释
格式: /* 注释文字*/
• 文档注释
格式:/* 注释文字 /

1.4 常量和变量
1.4.1 常量:表示不能改变的数值。
1.4.2 变量 :
其实就是内存中的一个存储空间,用于存储常量数据。
作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
特点:变量空间可以重复使用。
1)什么时候定义变量?只要是数据不确定的时候,就定义变量。
2)定义变量的格式:
• 数据类型 变量名 = 初始化值;
3)数据的类型
1:基本数据类型:byte、short、int、long、float、double、char、boolean
这里写图片描述

2:引用数据类型: 数组、类、接口。
4)数据类型转换
自动类型转换:
两种类型兼容
例如:int 和 double 兼容
目标类型大于源类型
例如:double 型 大于 int 型

强制转型 :
目标类型小于源类型 丢失精度
例如:int 型小于double 型

1.5 运算符
是通过一定的运算规则操作一个或多个操作数,并生成结果的特定符号。
Java提供了一系列丰富的运算符,包括:

1、算术运算符
”- ++、–、+、-、*、/、%“
这里写图片描述

2、比较运算符

“== 、!= 、> 、>=、 <、 <=”
这里写图片描述

3、逻辑运算符
“&”和“&&”的区别:
• 单&时,左边无论真假,右边都进行运算;
• 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时, 结果为false。

这里写图片描述

4、位运算符

这里写图片描述
“<<” 空位补0,被移除的高位丢弃,空缺位补0。
“>>” 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
“>>>” 被移位二进制最高位无论是0或者是1,空缺位都用0补。

5、赋值运算符
= , +=, -=, *=, /=, %=

6、三元运算符
格式
• (条件表达式)?表达式1:表达式2;
• 如果条件为true,运算后的结果是表达式1;
• 如果条件为false,运算后的结果是表达式2;

1.6 语句
if、 switch、 do while、 while 、for
这些语句什么时候用?
当判断固定个数的值的时候,可以使用if,也可以使用switch。
但是建议使用switch,效率相对较高。
工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了
就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;
细节:
1:break是可以省略的,如果省略了就一直执行到遇到break为止;
2:switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
3、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
4、当某些语句需要执行很多次时,就用循环结构
while和for可以进行互换。
区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
break:作用于switch ,和循环语句,用于跳出,或者称为结束。
break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
continue:只作用于循环结构,继续循环用的。
作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

Demo练习使用for 语句打印等腰三角形

public class Test {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            for (int j = i+1; j < 5; j++) {
                System.out.print(" ");
            }
            for (int j = 0; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}

1.7 函数
为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。
java中的函数的定义格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){
执行语句;
return 返回值;
}
当函数没有具体的返回值时,返回的返回值类型用void关键字表示。
如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。
return的作用:结束函数。结束功能。

如何定义一个函数?
函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:
1、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。
2、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。

函数的作用:
1、用于定义功能。
2、用于封装代码提高代码的复用性。
注意:函数中只能调用函数,不能定义函数。

函数定义名称是为什么呢?
答:1、为了对该功能进行标示,方便于调用。
2、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。

重载的定义是:
在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。
如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。
例如:
//返回两个整数的和
int add(int x,int y){return x+y;}
//返回三个整数的和
int add(int x,int y,int z){return x+y+z;}
//返回两个小数的和
double add(double x,double y){return x+y;}

1.8 数组
用于存储同一类型数据的一个容器。
好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。

如何在java中表现一个数组呢?两种表现形式。
1、元素类型[] 变量名 = new 元素类型[元素的个数];
2、元素类型[] 变量名 = {元素1,元素2…};
元素类型[] 变量名 = new 元素类型[]{元素1,元素2…};

数组的内存机构:
Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,有对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈内存:
用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
数组和对象,通过new建立的实例都存放在堆内存中。
每一个实体都有内存地址值,实体中的变量都有默认初始化值,实体不在被使用,会在不确定的时间内被垃圾回收器回收

练习Demo 实现数组排序

public class Demo{
    public static void main(String[] args) {
        int[] arr = {7,1,5,4,2,8,9};
        for(int x=0; x<arr.length-1; x++){                                  
            for(int y=0; y<arr.length-x-1; y++){//-x:让每一次比较的元素减少,-1:避免角标越界。
                if(arr[y]<arr[y+1]){
                    int temp = arr[y];
                    arr[y] = arr[y+1];
                    arr[y+1] = temp;    
                }
            }
        }
        System.out.print("[");
        for(int x=0; x<arr.length; x++)
        {
            if(x!=arr.length-1){
                System.out.print(arr[x]+", ");
            }else{
                System.out.println(arr[x]+"]");
            }
        }       
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值