Java基础语法

1.变量与数据类型

变量是程序中使用到的变化的数据。一个变量由数据类型、变量名、变量值组成。

数据类型 ·变量名称 =变量值;

变量名:所有变量名只能使用数字、字符、_、$组成,但是数字不能作为开头。

数据类型:

基本数据类型

  1. 四个整型类型:byte(1字节) short(2)字节 int(4字节)long(8字节)

  2. 两个浮点类型:float(4字节) double(8字节)

  3. 一个字符类型:char(2字节)

  4. 一个布尔类型boolean(1bit)

  5. java中常用的字面量常量类型:整数(int)、浮点数(double)、字符串常量。

引用数据类型

java, lang, String, 数组 , new出来的对象 , 枚举(JDK1.5新增)

2.运算符

算术运算符 :+ - * / % (++ --)

  • 比较运算符:> < >= <= != ==

  • 逻辑运算符:&, |, ! (&& ,||)

  • 赋值运算符:= , += , -= ,*= ,/= ,%=

  • 拼接运算符:+(任意变量与字符串+运算,都是将结果值拼接为一个新的字符串。)

    • 位运算符:& | ^ ~ >> << >>>

    • 优先级运算符:() .

  1. 思考:
  2. 1.&和&&(|和||)有什么异同?

(1)相同之处:在程序中,当所有表达式的判断结果为true时,则结果才为真,返回true,否则,只要有其中一 个表达式为假,结果都为false。   

(2)不同之处:a.& 当前面的表达式为假的时候,程序还是会执行后面的表达式,再得出false结果。 b.&& 当前面的表达式为假时,程序会停止执行后面的表达式,结果是false。

      2.用最有效率的方式计算 9*8

      用移位运算的方式运算:int a=9<<3;

     3.请描述java中各运算符的优先级?

   先算术运算,后移位运算,最后位运算。

   请特别注意:逻辑运算最后结合。

3.数组array

   java中的数组就是一组相同类型的数据集合,数组一般是引用类型的。数组是有序的。数组就是一个容器,目的是将数据存入保存,取出使用!数组最重要的两个属性:容量(长度)、下标(索引)。

1.数组的初始化方式不管那种初始化方式,数组初始化的时候一定确定的是明确的容量。

  1. 显示赋值

int[] arr = {1,3,4,5}

int[] arr = new int[]{1,3,5,6}

2.隐式赋值:

int arr[] = new int[5];

2.数组的使用

  1. 数组的遍历:使用循环语法遍历,N维数组一般使用N个循环嵌套来遍历。

  2. 数组元素求和,求平均值。

  3. 数组排序:选择排序,冒泡排序,快速排序,插入排序

  4. 数组查找:二分法查找( Arrays.binarySearch())

思考:

1.编程题:

1.创建一个数组,数组中有元素:3,6,18,3.14,5.12,100,88,11.22

2,求数组中的所有元素的和值,将和值打印在控制台上

3.查找数组中是否有66这个元素,将结果打印在控制台上

4.对数组进行排序,将结果从大到小输出在控制台上

代码如下:

public class ShuZu {
    public static void main(String[] args) {
        //创建数组
        double[] x = {3, 6, 18, 3.14, 5.12, 100.88, 11.22};
        int sum = 0;
        System.out.println("数组求和");
        // for循环遍历,提取每一个元素累加在一起
        for (int a = 0; a < x.length; a++) {
            sum += x[a];
        }
        System.out.println(sum);
        //方法二
        for (double d: x) {
           sum+=d;
            System.out.println(d);
​
        }
        //查询66是否存在数组
        for (double b:x){
            if (b==66) {
                System.out.println("66存在与数组x");
                break;
            }else {
                System.out.println("66不存在与数组x");
​
            }
​
        }
        //高效查找,先排序,后用二分法
        Arrays.sort(x);//快速排序,默认小到大排序
        int index = Arrays.binarySearch(x, 66);
        System.out.println(index < 0 ? "存在" : "不存在");
        //降序输出排序后的数组
        for (int k = x.length - 1; k >= 0; k--) {
            System.out.println(x[k]);
        }
    }
}

4.流程控制语句

  1. 顺序结构

  2. 判断语句: .if ...else if ...else if ... else

    不管判断代码块有几个,最终最多只有一个代码块被执行

    但if语句在定义条件时应遵循以下原则:

(1)各个条件不应该冲突

(2)越精确的条件位置越靠前

  1. 选择语句

switch... case ...break; case...break; .....default ....break;

switch语句块在判断时,从上到下依次判断每一个case是否匹配,只要有一个匹配了 ,那么就执行他对应的语句块。只要有某一个case匹配了,后续的所有case块就不做判断了。

switch语句用作判断的变量类型只能是:char、byte、short、int、String(1.7)、Enum(1.5)

switch语句使用时应遵循以下原则:

  1. 每一个case块结束后都需要加break关键字以结束Switch语句

  2. case块的顺序没有影响

4.循环语句

while循环:先判断循环条件,满足条件才能执行循环体,while循环 更适用于循环次数不确定的场景。do...while 循环:先执行一次循环体,再判断循环条件

  1. for循环:更适用于循环次数固定的场景

  2. foreach循环(增强for循环) :他是专用于遍历(迭代) 数组、集合容 ,器的循环。

思考:

1、Java中有哪些循环,它们之间有什么区别?

for循环,while循环,do....while循环

for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行) do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断) for循环和while的区别 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

———————————————— 版权声明:本文为CSDN博主「2218549749」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:java中三种循环的区别_2218549749的博客-CSDN博客

2.使用流程控制语句打印九九乘法表。

代码如下:

package com.zpark;
​
public class jiujiu {
    public static void main(String[] args) {
        for (int j = 1; j <= 9; j++) {
            for (int i = 1; i <= j; i++) {//初始值要为1,要等于9
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }
​
    }
}

5.方法

方法(函数、method)

方法是定义在类中的一个代码块,它通常能够完成特定的功能。

方法的组成:

修饰符 返回值类型 方法名(参数类型 形参名称, ...,参数列表 形参名称){

完成方法的具体业务代码集合

}

方法定义规则:

  1. 方法的返回值类型不能省略,如果一个方法有返回值(方法执行完毕后返回一个执行结果),那么返回值类型必须和返回的数据类型一致。 如果一个方法没有返回值(方法执行完毕运行流程不会返回任何内容),必须用void来补充语法。

  2. 方法名称不能省略,方法名称需要做到见名知义。

  3. 方法的参数列表必须存在,但是可以有0-- N个参数。JDK 1.7后引入了可变参数列表,但是可变参数必须放在参数最后。

  4. 方法体中放的是完成功能所需的业务代码集合。实际开发时,千万不要写一个打印语句代替。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值