java从入门到放弃-02

    科技2022-08-08  113

    目录

    文档注释关键字与保留字标识符规则与规范变量简介数据类型常量类型String①算数运算符②赋值运算符③比较运算符④逻辑运算符⑤位置运算符⑥三元运算符

    文档注释

    关键字与保留字

    标识符规则与规范

    变量简介

    数据类型

    常量类型

    String

    1.API; 一 Java API 文档(Application Programming Interface 类似于新华字典。API文档是Oracle公司提供的关于Java的一套开发说明。 注: 良好的编程风格 注释的作用 : 1.提高了代码的阅读性 2.调试程序的重要手段

    单行注释 :// 多行注释 : /* / 文档注释 :(生成说明文档的类必须被public修饰) /* */

    文档注释: 1.文档注释是java特有的 2.作用 :用来生成类的说明文档 3.生成文档的命令 : javadoc -d mydoc -author -version 源文件名.java

    javadoc : 开发工具集 -d : 参数 mydoc : 生成的文档所在的目录名 -author -version : 文档注释中使用到的注解

    例子:

    //java特有的文档注释练习 /** @author 小程壮士 @version 1.0 */ public class CommonTest{ public static void main(String[] args){ } } 在cmd中输入: javadoc -d mudoc -author -version CommonTest.java

    案例:生成爱心

    class PrintHeart{ public static void main(String[] args){ System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"love you"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"*"+" "+"\n"); System.out.print(" "+"*"+" "+"\n"); } }

    2.标识与命名规则

    一 java关键字的使用 定义:被java赋予了特殊含义的字符串(单词) 特点:所有字母都是小写

    二 保留字 :java现版本暂未使用,但以后的版本可能作为关键字来使用

    三 标识符的使用: 标识符-凡是需要自己命名的地方都叫标识符

    四 标识符的规则与规范:( 注意 :起名字时一定要做到见名知意)

    定义合法标识符规则: 1.由26个英文字母大小写,0-9 ,_或 $ 组成 2.数字不可以开头。 3.不可以使用关键字和保留字,但能包含关键字和保留字。 4.Java中严格区分大小写,长度无限制。 5.标识符不能包含空格。 Java中的名称命名规范: 包名:多单词组成时所有字母都小写:xxxyyyzzz 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

    3.变量的定义与使用;

    一 变量的分类 1.按照数据类型来分 : 基本数据类型: ①整型 :byte(1字节 = 8bit 表数范围-128 ~ 127) ,short(2字节) , int(4字节),long(8字节) ②浮点型 : float(4字节),double(8字节) ③字符型 :char(2)字节 ④布尔类型 :boolean(只有两个值true和false一般忽略大小) 引用数据类型:类(String),接口,数组 2.安照位置分(面向对象的时候再说) 二 定义格式: 变量的类型 变量名 = 变量值

    1.声明和赋值同时进行 : int number = 10; 2.先声明后赋值 : int number; number = 10; 3.同时声明多个变量 int a,b,c; a = b = c = 10; 4.同时声明多个变量和赋值 int a = 10,b = 20,c = 30;

    三 变量使用的注意点: 1.变量先声明后使用 2.在同一作用域内的变量名不能相同。 3.作用域 :声明那个变量所在的那对大括号内 4.同一个变量可以被多次赋值,后一次赋值覆盖前一次的值 四 java常量的默认类型: 1.java的整型常量默认为 : int 2.java 的浮点型常量默认为 : double 五 变量类型的说明 1.long类型数值后面要加 : l或L 2.float类型的数值后面要加 : f或F 3.double类型后面可以加(一般不加因为默认的常量就是double类型) :d或D 4.变量运算; 一 基本数据类型变量间的运算(不包括boolean) 1.自动类型提升:小容量和大容量的变量进行运算结果用大容量的变量来接收。 byte,short,char -> int -> long -> float -> double 注意: ①byte,short,char三者之间做运算会先将自身提升为int ②容量指的是表数范围 2.强制类型转换:自动类型提升的逆过程 格式 :(强转的类型) 注意:强制类型转换可能会损失精度。 代码:

    int number = 128; byte b = (byte)number; System.out.println(b); float f = 12.3f; int num = (int)f; System.out.println(num); int num2 = 100; long lon = (long)num2; //小容量赋值给大容量可以使用强制类型转换符但是没必要 System.out.println(lon); //练习题 double d = 12.3; double d2 = 12.2; //int sum = (int)d + (int)d2; int sum = (int)(d + d2);

    二 基本数据类型(8种)与String间的运算 1.字符串的声明和赋值

    String s = "abc"; String s2 = new String("ccc");

    2.说明: ①String和基本数据类型只能做连接运算。 ②String和基本数据类型运算的结果还为String。 5.进制;

    1.二进制,八进制,十进制,十六进制 二进制 :以0b或0B开头 八进制 :以0开头 十六进制 :以0x或0X开头

    2.整数在计算机底层都是以补码的形式存放的 ① 正数的原码,反码,补码都一样(三码合一) ②负数的 原码:对应的正数的二进制,但是最高位变成1 反码:在原码的基础上,除符号位外。0变1,1变0 补码:在反码的基础上加1 3.进制间的转换 6.运算符; 类别:

    ①算数运算符

    例: double d = 10 / 4; d = 10 * 1.0 / 4; d = (10 + 0.0) / 4; d = (double)10 / 4; d = 10 / 4 * 4; //8.0 d = 10 * 4 / 4; //10.0 注意 :乘除的顺序可以调换的情况下,先写乘再写除。 一. 取模(取余) 作用 :常常用来判断某个数是否可以被某个数整除

    System.out.println(3 % 3); //0 System.out.println(4 % 3); //1 System.out.println(5 % 3); //2 System.out.println(6 % 3); //0 System.out.println(7 % 3); //1 System.out.println(8 % 3); //2

    思考 :结果的正负和谁有关 (和被模数的正负有关)

    System.out.println(-6 % 4); System.out.println(6 % -4); System.out.println(-6 % -4);

    二: 前++ 后++ 前-- 后–的区别是什么? ++a : 先自身加1,再赋值(运算) a++ : 先赋值(运算),再自身加1 –a : 先自身减1,再赋值(运算) a–: 先赋值(运算),再自身减1

    ②赋值运算符

    一 赋值运算符 : = 二 扩展赋值运算符 :+= -= *= /= %=

    int a = 10; a += 2; //可以理解成 a = a + 2;

    三 面试题

    byte b = 10; b += 2; //编译可以通过,不会改变原来的数据类型 b = b + 2; //编译会出错,因为byte做运算时会先提升为int所以应该使用int类型的变量来接收数据

    ③比较运算符

    特点 :结果为布尔类型

    ④逻辑运算符

    二 说明:

    1.&和&& :两边都为true结果为true (两边有false结果为false) 2.|和|| :两边有true结果为true.(两边都为false结果为false) 3.! : 取反 4.^ : 两边相同为false,不同为true

    三 特点 :

    1.对布尔类型的数据进行运算 2.逻辑运算符的结果为布尔类型

    四 [面试题]& 和 && , | 和 ||的区别? &和&&的区别? 左边为true时,&和&&右边的式子都会执行。 左边为false时,&右边的式子仍然会执行,&&右边的式子不执行(可以直接推理出结果)。

    |和||的区别 左边为false时,|和||右边的式子都会执行。 左边为true时,|右边的式子仍然会执行,||右边的式子不执行(可以直接推理出结果)。

    ⑤位置运算符

    << 左移 : 在一定范围内每向左移一位,原来的数乘以2 >> 右移 : 在一定范围内每向右移一位,原来的数除以2

    二 下面两者的区别是什么?

    和>>>的区别? 如果是正数最高位用0补,如果是负数最高位用1补

    : 无论是正数还是负数最高位都用0补

    ⑥三元运算符

    一 格式:

    (条件表达式)? 表达式1 : 表达式2;

    二 说明: 1.条件表达式的结果为boolean 2.条件表达式的值为true则执行表达式1,否则执行表达式2 3.表达式1和表达式2的类型必须一致。(如果可以自动类型提升那么也是可以的) 比如 :double d = (m > n)? 100.5 : 100; 4.三元运算符可以嵌套使用但是不建议 5.可以使用if-else来替换三元运算符,反之不成立。如果两者都可以使用建议使用三元运算符 因为效率高一些。

    三 代码:

    //需求 :求两个数中的最大值 int m = 10, n = 5; int max = (m > n)? m : n; System.out.println(max); //需求 :求三个数中的最大值 int a = 5, b = 10, c = 20; int maxNumber = (a > b)? a : b; maxNumber = (maxNumber > c)? maxNumber : c; System.out.println(maxNumber);
    Processed: 0.010, SQL: 8