学了一天java,我总结了这些知识点

大家好,我是KookNut39也是Tommy,在CSDN写文,写Java时候我是Tommy,分享一些自己认为在学习过程中比较重要的东西,致力于帮助初学者入门,希望可以帮助你进步。以前一直更新C/C++方面的知识,今天是我第一次更新Java方面的知识,以后会持续更新,感兴趣的欢迎关注博主,和博主一起从0学习Java知识。大家可以去专栏查看之前的文章,希望未来能和大家共同探讨技术。

文章目录

  • 1.注释
    • (1)单行注释
    • (2)多行注释
    • (3)文档注释
  • 2.关键字
  • 3.保留字
  • 4.标识符
  • 5.Java数据类型
    • (1)基本数据类型
      • 1.数值型
        • 整数类型
        • 浮点型
      • 2.布尔型
      • 3.字符型
    • (2)引用数据类型
  • 6.基本数据类型转换
    • 默认转换
    • 强制转换
  • 7.运算
    • 运算符
    • 运算顺序
  • 8.控制台的输入 / 输出
    • 输入
    • 输出
  • 9.控制语句
    • 1. if-else语句
    • 2. switch语句:
    • 3.循环语句
      • 1. while 循环
      • 2. do/while 循环
      • 3. for 循环
    • 4. break & continue
  • 10. 方法
  • 11. return语句

Java 是一个完整的平台 , 有一个庞大的库 , 其中包含了很多可重用的代码和一个提供诸如安全性 、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。
——Java核心技术 卷一(第十版)

在《Java核心技术》中说到:Java具有令人赏心悦目的语法和易于理解的语义,提供了可移植性,垃圾收集等,还有一个大型的库,是一种功能齐全的出色语言。对广大程序设计人员有着不可抗拒的吸引力。

Java语言在面世的时候就引起轰动,曾登TIOBE 排行榜榜首,在6月的TIOBE榜排名第三,虽说现在所占市场份额有所下滑,但不可置疑的是Java语言依旧是编程语言中的“大户”。

1.注释

注释就是对程序功能的解释说明。以特定的符号作为标记,程序在运行过程中不会执行注释。

Java中标记注释的符号分为三种:

(1)单行注释

单行注释用'//'标记, 其注释内容从 // 开始到本行结尾。例如:

//注释内容

  • 1
  • 1

(2)多行注释

多行注释以 /* 开始,以 */ 结束,把一段内容包起来

/*
注释内容
注释内容
*/
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

(3)文档注释

文档注释,用于为方法(函数),属性进行说明(放在前面),调用时鼠标放在上面可以显示这段注释,语法是以 /** 开始,以 */ 结束

注意 : 在 Java 中 ,多行注释不能嵌套 „
也就是说,当一段代码中包含一个 /* ,在使用多行注释包裹是就达不到注释目的。

2.关键字

关键字是指 Java 中有特殊含义,用于特定用途的单词

关键字的特点是关键字中所有字母都为小写

例如:public,private,int等,我就不一 一列举了

3.保留字

保留字是指现有Java版本尚未使用,但以后版本可能会作为关键字使用的单词

例如: goto 、const

自己命名变量名或者方法名等标识符时要避免使用这些保留字和关键字

4.标识符

Java中对各种变量方法等要素命名时使用的字符序列称为标识符。

Java中规定了定义标识符的规则:

由26个英文字母大小写0-9_$ 组成

数字不可以开头。

不可以使用关键字和保留字,但能包含关键字和保留字。

Java中严格区分大小写,长度无限制。

标识符不能包含空格。

注意:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”

5.Java数据类型

(1)基本数据类型

1.数值型

整数类型

byte : 一个字节 表数范围 : -128 ~ 127

short : 二个字节 表数范围 : -215 ~ 215-1

int : 四个字节 表数范围 : -231 ~ 231-1

long : 八个字节 表数范围 : -263 ~ 263-1

Java语言的整型常量默认为int型,声明long型常量可以后加**' l ’或' L ’** ,如:

int i = 600; //正确

long l = 8888888888L; //必须在数字后加l或L否则会出错

浮点型

float : 单精度 四个字节 在储存大型浮点数组的时候可节省内存空间

double: 双精度 八个字节 double类型同样不能表示精确的值

float和double类型不能表示精确的值

float定义时要在数后加上f或F

double d = 123.4;
float f = 234.5f ;

2.布尔型

boolean :布尔值取值的时候只允许取true或false,不能用其他的代替。

​ 该类型适于逻辑运算,一般用于程序流程控制 。

3.字符型

char : 字符型的值是一个用单引号引起来的单个字符,例如:

char a = 'a'; char b = '中';

  • 1
  • 2
  • 1
  • 2

Java采用Unicode编码,一个字符占俩个字节,16位,所以可以用十六进制编码来表示

char a = '\u0061';  //a的Unicode编码为97
  • 1
  • 1

注意:Unicode 转义序列会在解析代码之前得到处理 。 例如, ' \u0022 + \u0022'(Unicode值\u0022标识双引号)并不是一个由引号包围加号构成的字符串 。 实际上 ,\u0022 会在解析之前转换为 ' ,这会得到也就是一个空串(''+'') 。

(2)引用数据类型

类 :最常用的就是String类型(字符串)

接口 : 如:List< E >:列表( E代表泛型

​ Map<K,V>:双链的集合,以键值对形式存储的,K(键)和V(值)都是泛型

数组:数组是指存储在一个连续的内存块中的相同数据类型的元素集合。因为引用的是内存地址,所以数组属于引用数据类型。

6.基本数据类型转换

首先boolean型的值不能与其他类型相互转换

默认转换

整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:

byte,short,char->int->long->float->double

byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型

强制转换

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。

int i = 100; double d = i; double d1 = 10.99; int i1 = (int) d1;

  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

注意:
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。

7.运算

运算符

Java 语言支持如下运算符:

算术运算符

运算符 运算 范例 结果
+ 正号 +3 3
- 负号 b=4; -b -4
+ 5+5 10
- 6-4 2
***** 3*4 12
/ 除 (取整) 5/5 1
% 取模 (取余) 7%5 2
++ 自增(前):先运算后取值 ; 自增(后):先取值后运算 a=2;b=++a; a=2;b=a++; a=3;b=3 a=3;b=2
- - 自减(前):先运算后取值 ; 自减(后):先取值后运算 a=2;b=- -a a=2;b=a- - a=1;b=1 a=1;b=2
+ 字符串相加 “He”+”llo” “Hello”

字符串连接运算符:+ ;

关系(比较)运算符: >,<,>=,<=,==,!= ;

逻辑运算符

​ &—逻辑与 | —逻辑或 !—逻辑非

​ && —短路与 || —短路或 ^ —逻辑异或

a b a&b a|b !a a^b a&&b a||b
true true true true false false true true
true false false true false true false true
false true false true true true false true
false false false false true false false false

异或就是左右的值一样时就是false,追求一个“”字。

我们可以看到用逻辑与和短路与计算的值是相同的,那它们的区别在哪呢?

逻辑与:会把符号俩边的表达式计算一边,然后判断

短路与:因为与运算符号俩边的表达式有一个false就返回false,所以如果计算了符号左边的表达式是false,就不会计算符号右边的表达式,直接返回false,如果左边的是true才会计算右边

逻辑或和短路或同理,短路或左边的表达式是true时就不会计算右边,直接返回true

public static void main(String[] args){
    int a = 1;
    int b = 2;
    if(++a>1||++b>4){
        System.out.println(a);
        System.out.println(b);
    }
    System.out.println('-------------');
    a = 1;   //让值回到初始值
    b = 2;
    if(++a>1|++b>4){
        System.out.println(a);
        System.out.println(b);
    }
    System.out.println('-------------');
    a = 1;
    b = 2;
    if(++a>3&&++b>4){
    } else {
        System.out.println(a);
        System.out.println(b);
    }
    System.out.println('-------------');
    a = 1;
    b = 2;
    if(++a>3&++b>4){
    }else {
        System.out.println(a);
        System.out.println(b);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

输出如下:

赋值运算符

运算符 用法举例 等效的表达式
+= a += b a = a+b
-= a -= b a = a-b
*= a *= b a = a*b
/= a /= b a = a/b
%= a %= b a = a%b

位运算

功能
<< 空位补0,被移除的高位丢弃,空缺位补0。
>> 被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1。
>>> 被移位二进制最高位无论是0或者是1,空缺位都用0补。
& 二进制位进行&运算,只有1&1时结果是1,否则是0;
| 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;
^ 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
~ 正数取反,各二进制码按补码各位取反 负数取反,各二进制码按补码各位取反

运算顺序

单目>算数运算符>移位>比较>按位>逻辑>三目>赋值

单目运算符(一元运算符,即一个变量):+,-,++,–

算数运算符:+,-,*,/,%

移位运算符:<<,>>

关系运算符:>,<,>=,<=,==,!=

位运算符:&,|,~,^,

逻辑运算符:&&,||

三目运算符:表达式1?表达式2:表达式3;

赋值运算符:= 等

8.控制台的输入 / 输出

输入

使用Scanner类取得一个字符串或一组数字

在使用Scanner类对象时,需要在文件头带入 java.util.Scanner; 把类导入写法为:

import java.util.Scanner;

  • 1
  • 1

在创建一个Scanner对象时需要传入一个System.in参数给构造函数,因为实际上是System.in在取得用户输入。Scanner的next()方法用以 取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;nextFloat()转换成浮点型;nextBoolean()转 换成布尔型。

//写在方法中
System.out.print('输入:');
Scanner scan = new Scanner(System.in);
String read = scan.next ();
System.out.println('输入数据:'+read);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

输出

可以使用 System.out . print ( x ) 将数值 x 输出到控制台上。 这条命令将以x 对应的数据类型所允许的最大非 0 数字位数打印输出 X 。


System.out . println ( x ) ,如果将print改为println就会在输出完之后进行换行。


我在这里提到的输入/输出都是最基础的,还有文件的输入/输出等该知识更深层次的理解会在日后慢慢积累并分享,尽情期待。

9.控制语句

1. if-else语句

if(条件){ //真执行语句 }else { //假执行语句 }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

条件必须是一个返回布尔值的表达式

2. switch语句:

多分支选择语句,根据表达式的值,来执行多个操作中的一个。

switch (表达式){
        case V:
          //语句1
          break ;
        case V1:
          //语句N
           break ;
        default :
          //如果没有上面的选项
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

表达式(变量)可以byte、short、int、char、枚举类型。jdk 7以后,可以使用String类型;

  1. case语句后面只能使用常量表达式;
  2. case后的值不能重复
  3. 每个case之后都必须由一个break语句,不然就达不到选择执行的效果了。如果没有,就会一直往下执行下一个case中的语句
  4. 当表达式的值与任一case子句中的值都不匹配时,将执行default后面的语句,如果没有default子句,则程序直接跳出switch语句。

3.循环语句

循环语句功能

在某些条件满足的情况下,反复执行特定代码的功能

循环语句的四个组成部分

  1. 循环变量的初始化
  2. 循环条件部分
  3. 循环体部分
  4. 循环变量的更新

循环语句分类

1. while 循环

while 语句为如下形式:

while(逻辑表达式){ //语句 }

  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

执行过程:先判断逻辑表达式的值。若=true,则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止

2. do/while 循环

do {
    //语句
}while (逻辑表达式);
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

执行过程:先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循环。

3. for 循环

for (表达式1;表达式2;表达式3){ //语句 }

  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

执行过程:首先计算表达式1,接着执行表达式2,若表达式2的值 =true,则执行循环语句,接着计算表达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false.

4. break & continue

break 语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;

public static void test(){
       int stop = 4;
       for (int i = 1; i <= 10; i++) {
       //当i等于stop时,退出循环
       if (i == stop){
            break;
       }
       System.out.println(' i= ' + i);
       }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出为:

continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue 语句下面未执行的循环,开始下一次循环过程;

public static void test(){ int stop = 4; for (int i = 1; i <= 10; i++) { //当i等于stop时,跳过当次循环 if (i == stop){ continue; } System.out.println('i = ' + i); } }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出为:

10. 方法

Java的方法类似于其它语言的函数,方法是解决一类问题的步骤的有序组合,方法包含于中.

方法的创建,声明格式

[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){

  Java语句;… … …
  //如果有返回值就由return语句
  [return 返回值;]

 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

修饰符:告诉编译器如何调用该方法。定义了该方法的访问类型。

形式参数: 在方法被调用时用于接收外界输入的数据

实参:调用方法时实际传给方法的数据

返回值:方法在执行完毕后返还给调用它的环境的数据。

返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void

调用方法:

类的对象名.该类下面的方法名(实参列表)

实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配

11. return语句

用于从当前执行的方法中退出, 返回到调用该方法的语句处继续执行。

有两种格式:

  1. return 表达式; //将表达式的值返回

  2. return; //不返回任何值,当方法说明中用void声明无返回值时, 可以使用这种格式,有时可省略

我是一个Java的初学者,文中如有不当之处,还希望各路大佬批评指点,我会及时
参考书籍:Java核心技术 卷1(第十版)

(0)

相关推荐

  • Java语言基础知识整理汇总

    表达式和运算符: 算术运算符: 元代表多少个操作数,一元表示一个操作数: 一元运算符:++自增(只能是变量),++a等价于a = a+ 1; ++a 与 a++ 有区别: ++a 先自增 在运算 a+ ...

  • Java入门基础知识点梳理

    摘要: 虽然已经在实际工作中与java打交道5年之多,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散.恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回 ...

  • day05_运算符入门

    2020-11-19 21:31:42  阅读:6  来源: 互联网 运算符概述 运算符是指对操作数的运算方式.组成表达式的 Java 操作符有很多种(什么是操作数和操作符,例如 1+2,其中 1 和 ...

  • TB交易开拓者公式平台的语言编码原则

    TB交易开拓者公式平台的语言编码原则 TBQuant版 2021年3月20日 14:38 浏览量:360 끄收藏 语言元素 交易开拓者公式平台的语言是TradeBlazer Language,简称&q ...

  • 从零开始学Java(七)Java中的运算符

    运算符 算术运算符: + - * / % ++ -- 重点:++ ++无论出现在变量前还是后,只要++运算结束,一定会自加1. int i = 10; i++; System.out.println( ...

  • 一文通读Java的基础语法

    Java基础语法,越来越多的人在学习Java的时候需要掌握,但是很多人又找不到一个完整的语法教程,今天小编历尽千辛万苦,终于整理了一份完整的Java基础语法的汇总,希望对您的学习有所帮助. 下面开始今 ...

  • Java学习笔记--来自Java核心卷和尚学堂视频

    Java常见点解析 起步之注意点 Java对大小写敏感,关键字public被称为访问修饰符 关键字class 的意思是类.Java是面向对象的语言,所有代码必须位于类里面. 一个源文件中至多只能声明一 ...

  • Java基础:java要学什么内容,Java学习建议

    线上方式 1.线上直播授课,这样的方式是通过一些直播授课平台,老师通过线上远程的方式为学员进行上课,优点是可以自由支配自己的时间,并且学习费用较低. 2.线上录播课,这样的学习方式就是老师提前录播好的 ...

  • 学医党福利!《病理生理学》每个知识点一句话总结,还怕记不住?

    课小观来喽 给学医的童鞋送一波年后福利 红楼梦73万字,西游记86万字 而你们的病理生理学就有122万个字 小观为了给你们排忧解难 奉上<病理生理学>考点一句斩 解决你的头秃问题 虽说寒假 ...

  • 至简学医:五运六气最基本的知识点!

    一.概说: 1.何谓五运? 木.火.土.金.水五行的运行规律. 2.何谓六气? 太阳.少阳.阳明.太阴.少阴.厥阴六经所对应的风.寒.暑.湿.燥.火六种气化. 3.何谓五运六气学说? 运用五运.六气的 ...

  • Java基础总结(学Java这一篇就够了)

    2021-02-03 22:07:31 目录 java基础总结 一.java基础知识 1.DOS和Java特性 2.Java--集成开发环境 3.java程序的编译和运行.JDK.JRE.JVM的关系 ...

  • 写给想学java的同学,零基础如何快速学java

    最近有很多小伙伴来问,如何入门Java,如何安排学习路线,零基础怎么学习Java,每一步应该怎么走比较好.针对以上问题,动力节点java学院特意分享这篇Java学习指南,希望对那些想学Java,想零基 ...

  • 学java好找工作吗?工资高不高?

    学java好找工作吗?工资高不高?很多选择通过IT培训机构学习Java得人心里都有这样的担忧,今天动力节点java学院小编就来帮你好好分析一番学Java到底好不好找工作. 学java好找工作吗?工资高 ...

  • 天津java培训班原来是这样学的?还不赶紧看!

    当今,java作为开发人员的宠儿,学习java成为互联网语言中的必修课程,很多0基础的同学也想要学习,但是不知道该如何下手?小筑整理了以下5个阶段.仅供大家参考. 一.面向对象知识的学习 Java是一 ...

  • 带上问题来看:主流技术Java、Python怎么?基本功又该怎么学?(什么是MySQL、Linux、...

    文章目录 Java与Python该怎么选?分五点来讲: 2021 CSDN 程序员学院高质量教程推荐: 那么问题来了,作为一个程序员,又改掌握哪些核心基本功呢? Python入门方向 Python爬虫 ...

  • Python和Java二选一该学啥?

    由于互联网的高速发展,越来越多的人选择加入IT行业.所以,对于刚入行的小伙伴来说,到底该选择哪一门编程语言学习比较好呢?始终独占优势的Java,还是落后的Python,在做出选择之前,我们先了解一下现 ...