Java基础语法

关键字:被Java语言赋予特定含义的单词,组成关键字的字母全部小写。

标识符: 就是给类,接口,方法,变量等起名字时使用的字符序列

        标识符是由英文字母数字_$组成,数字不能开头,不能是关键子,字母区分大小写。

常见命名规则

        :liuyi,cn.itcast(全小写)

        类或者接口:Student,HelloWorld(每个单词的首字母大写)

        方法和变量:name,main,studentName(首字母小写,后单词首字母大写)

        常量:MAX,STUDENT_MAX_AGE(全大写)

注释

        单行注释格式: // 注释文字

        多行注释格式: /*  注释文字  */

        文档注释格式:/** 注释文字 */

常量、进制和进制转换

        常量在程序执行的过程中其值不可以发生改变。有字面值常量;自定义常量之分。

        字符串常量              用双引号括起来的内容

        整数常量                   所有整数                   12,23

        小数常量                   所有小数                   12.34,56.78

        字符常量                   用单引号括起来的内容         ‘a’,’A’,’0’

        布尔常量                   较为特有,只有true和false

        空常量                       null(数组部分讲解)

Java针对整数常量提供了4种表现形式

        二进制(0b开头)、八进制(0开头)、十进制、十六进制(0x)

变量

        变量:在程序执行的过程中,在某个范围内其值可以发生改变的量

        变量定义格式:(数据类型 变量名 = 初始化值;)

    变量使用注意事项

        作用域:变量定义在哪一级大括号中,哪个大括号的范围就是变量的作用域。相同的作用域中不能定义两个同名变量。

        初始化值:没有初始化值不能直接使用;在一行上建议只定义一个变量,可以定义多个,但是不建议

数据类型


类型转换

    默认转换

        byte,short,char—int—long—float—double

        byte,short,char相互之间不转换,他们参与运算首先转换为int类型

    强制转换

        目标类型 变量名=(目标类型)(被转换的数据);

    问题:

        1、byte b1=3,b2=4,b;     b=b1+b2;          b=3+4;      哪句是编译失败的呢?为什么呢?

        2、byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢?

运算符

        1:运算:对常量和变量进行操作的过程称为运算。

        2:运算符: 对常量和变量进行操作的符号称为运算符

        3:操作数:参与运算的数据称为操作数

        4:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。

算术运算符

           

赋值运算符

        符号:= , +=,-=, *=, /=, %=(=为基本的赋值运算符,其他的为扩展的赋值运算符)

关系运算符

逻辑运算符

“&”和“&&”的区别:(&&具有短路功能)

        单&时,左边无论真假,右边都进行运算;

        双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

  “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

    异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

位运算符

        

    问题:1、请用最有效率的方式写出计算2乘以8的结果

              2、请自己实现两个整数变量的交换

三目运算符

    格式:(关系表达式)?表达式1:表达式2;

            如果条件为true,运算后的结果是表达式1;如果条件为false,运算后的结果是表达式2;

流程控制语句

        分类:顺序结构、选择结构、循环结构

    一、顺序语句

         依次执行,写在前面的先执行,写在后面的后执行

    二、选择语句(if、switch)

         if语句有三种格式

            1、if(关系表达式) {语句体}

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

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

    问题:1、三元运算符的操作都可以使用if语句改进,反之不成立什么时候不成立呢?

               答:当if语句控制的语句体是一条输出语句的时候,就不成立。因为三元运算符是一个运算符,必须要求有一个结果返回。而输出语句却不能作为一个返回结果

       switch语句

         switch(表达式) {

              case 值1: 语句体1;

                            break;

                case值2: 语句体2;

                            break;

                       …

                   default:语句体n+1;

                            break;

            }

        注:表达式的取值:byte,short,int,char;JDK5以后可以是枚举;JDK7以后可以是String

    三、循环结构(for、while、do…while)

        for循环语句格式:

            for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; }

        while循环语句格式:

           while(判断条件语句) { 循环体语句; }

        do…while循环语句格式:

             do {循环体语句;}while(判断条件语句);

        问题:1、请输出一个4行5列的星星(*)图案。

                  2、在控制台输出九九乘法表。

跳转控制语句(break、continue 、return

        break的使用场景:在switch语句中、在循环语句中,离开使用场景的存在是没有意义的

        break的作用:跳出单层循环、跳出多层循环、带标签的跳出(格式:标签名: 循环语句)

        continue的使用场景:在循环语句中,离开使用场景的存在是没有意义的

        continue的作用:break 退出当前循环,continue 退出本次循环

方法

        方法就是完成特定功能的代码块(函数就是方法)

        格式:修饰符 返回值类型 方法名(参数类型参数名1,参数类型参数名2…) {

                                     函数体;

                                     return 返回值;  }

方法重载

        在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

        方法重载特点:与返回值类型无关,只看方法名和参数列表,在调用时,虚拟机通过参数列表的不同来区分同名方法

数组

        数组是存储多个变量(元素)的东西(容器),这多个变量的数据类型要一致

        数组既可以存储基本数据类型,也可以存储引用数据类型

        格式

            格式1:数据类型[] 数组名;

            格式2:数据类型 数组名[];

        动态初始化        格式:数据类型[] 数组名 = new 数据类型[数组长度];

                                 数组长度其实就是数组中元素的个数。

            举例:int[] arr= new int[3];一个int类型的数组,这个数组中可以存放3个int类型的值。

        静态初始化        格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};

            举例:int[] arr= new int[]{1,2,3};  简化的写法int[]arr = {1,2,3};

        数组常见错误

            数组索引越界:ArrayIndexOutOfBoundsException访问到了数组中的不存在的索引时发生。

            空指针异常:NullPointerException数组引用没有指向实体,却在操作实体中的元素时。

二维数组

        格式1:数据类型[][] 变量名 = new 数据类型[m][n];

                    m表示这个二维数组有多少个一维数组,n表示每一个一维数组的元素个数

        举例:int[][] arr = new int[3][2];定义了一个二维数组arr

                    这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2]

                    每个一维数组有2个元素,可以通过arr[m][n]来获取

                    表示获取第m+1个一维数组的第n+1个元素

        格式2:数据类型[][] 变量名 = new 数据类型[m][];

                    m表示这个二维数组有多少个一维数组

                    这一次没有直接给出一维数组的元素个数,可以动态的给出。

          举例:int[][] arr = new int[3][];

                    arr[0] = new int[2];

                    arr[1] = new int[3]

                    arr[2] = new int[1];

        格式3:数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};

        简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};

        举例:int[][] arr =  {{1,2,3},{4,6},{6}};

Java中的内存分配

        栈                      存储局部变量

        堆                       存储new出来的东西

        方法区                  (面向对象部分讲)

        本地方法区            (和系统相关)

        寄存器                  (给CPU使用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本
Java基础语法是指Java语言的一些基本规则和约定,包括变量的定义、数据类型运算符、控制语句、方法和类等。下面给出一些例子进行讲解: 1. 变量的定义 变量是存储数据的容器,Java变量的定义需要指定数据类型。例如: ```java int num = 10; // 定义一个整型变量num,并赋值为10 String str = "Hello World"; // 定义一个字符串变量str,并赋值为"Hello World" double pi = 3.14; // 定义一个双精度浮点型变量pi,并赋值为3.14 ``` 2. 数据类型 Java中有基本数据类型和引用数据类型两种。基本数据类型包括整型、浮点型、字符型和布尔型,引用数据类型包括数组、类和接口等。例如: ```java int num = 10; // 整型 double pi = 3.14; // 双精度浮点型 char ch = 'A'; // 字符型 boolean flag = true; // 布尔型 int[] array = {1, 2, 3}; // 数组 String str = "Hello World"; // 字符串 ``` 3. 运算符 Java中的运算符包括算术运算符、关系运算符、逻辑运算符等。例如: ```java int num1 = 10, num2 = 20; int sum = num1 + num2; // 算术运算符 boolean result = num1 > num2; // 关系运算符 boolean flag = true, flag2 = false; boolean result2 = flag && flag2; // 逻辑运算符 ``` 4. 控制语句 Java中的控制语句包括if语句、for语句、while语句等。例如: ```java int num = 10; if (num > 5) { // if语句 System.out.println("Num is greater than 5"); } for (int i = 0; i < 10; i++) { // for语句 System.out.println(i); } int i = 0; while (i < 10) { // while语句 System.out.println(i); i++; } ``` 5. 方法和类 Java中的方法是可重复使用的代码块,而类是用于封装数据和方法的基本单位。例如: ```java public class HelloWorld { // 定义类 public static void main(String[] args) { // 定义主方法 System.out.println("Hello World"); // 输出Hello World } public void print(String str) { // 定义方法 System.out.println(str); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值