Java教程

JAVA前三天内容总结(全是知识点)

本文主要是介绍JAVA前三天内容总结(全是知识点),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

Java语言的特点:

  •         完全面向对象
  •         支持分布式
  •         健壮型
  •         安全
  •         跨平台性

    Java语言的跨平台原理    

  •                 跨平台
  •                 JVM

java是跨平台的语言 (one write  run anywhere)

JVM是跨平台的语言

 如何修改源文件的字符编码

方法一: 在Notepad++等编辑器中,修改源文件的字符编码

方法二:javac -encoding utf-8 Review01.java  (编译的时候设置)

 源文件名与类名一致问题?

(1)如果这个类不是public,那么源文件名可以和类名不一致。如果这个类是public,那么要求源文件名必须与类名一致。我们建议大家,不管是否是public,都与源文件名保持一致,而且一个源文件尽量只写一个类,目的是为了好维护。

(2)一个源文件中是否可以有多个类?public呢?

一个源文件中可以有多个类,编译后会生成多个.class字节码文件。但是一个源文件只能有一个public的类。

(3)main必须在public的类中吗?不是。但是后面写代码时,基本上main习惯上都在public类中。

JAVA中关键字(keyword):

  • 被java语言赋予了特殊含义的字符串(单词)

  • 例如:HelloWorld案例中,出现的关键字有 publicclassstaticvoid 等,这些单词已经被Java定义,具有明确的含义。
  • 关键字的特点:全部都是小写字母。(关键字一定全是小写的)
  • 关键字一共50个,其中const和goto是保留字。

标识符( identifier)

标识符概念:即给类、变量、方法、包等命名的字符序列,称为标识符。

  • 标识符的命名规则(必须遵守)
  • (1)组成:英文大小写字母,数字,下划线_,美元符号$

    (2)数字不能开头

    (3)严格区分大小写

    (4)不能使用Java的关键字(包含保留字)和特殊值

  • 标识符的命名规范(遭受鄙视)
  • (1)见名知意

    (2)类名、接口名等:每个单词的首字母都大写(大驼峰法则),形式:XxxYyyZzz,

    例如:HelloWorld,String,System等

    (3)变量、方法名等:从第二个单词开始首字母大写(小驼峰法则),其余字母小写,形式:xxxYyyZzz,

    例如:age,name,bookName,main

    (4)包名等:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz,

    例如:java.lang

    (5)常量名等:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ,

    例如:MAX_VALUE,PI

常量:

        在程序执行的过程中,其值不可以发生改变的量。例如 π的值3.1415926

常量的分类

        自定义常量:通过final关键字定义(后面在面向对象部分讲解)

 注意事项:

字符常量,单引号里面有且仅有一个字符

空常量,不可以在输出语句中直接打印

注意事项:

  • System.out.println();        换行输出语句,括号内可以什么都不写,只做换行处理
  • System.out.println();         直接输出语句,括号内什么都不写的话,编译报错
  • 不能同时输出多个数据,可以使用 + 把多个数据连接起来,变成为一个数据进行输出。

        

变量:        

        在程序执行的过程中,其值可以发生改变的量

 变量的使用注意事项:

  •         先声明后使用         如果没有声明,会报“找不到符号”错误
  •         在方法中使用变量之前必须初始化   如果没有初始化,会报“未初始化”错误(成员变          量中会有默认初始化值)
  •         变量有作用域        作用域为变量直接所属的{}范围内,如果超过作用域,也会报             “找不到符号”错误
  •         在同一个作用域中不能重名        同一个{},不能同时声明两个同名变量

计算机如何存储数据

计算机世界中只有二进制。

二进制:           以0b或0B开头

八进制:           很少使用   表示方式:以0开头

十六进制           表示方式:以0x或0X开头

打印的时候可以用这几种方式可以将相关对应的进制转换成10进制

计算机存储单位

        位(bit):是数据存储的最小单位,也就是一个二进制位。其中8 bit 就称为1个字节(Byte)。

字节(Byte):是计算机信息技术用于计量存储容量的一种计量单位,1字节等于8bit。

转换关系  

        8 bit = 1 Byte

        1024 Byte = 1 KB

        1024KB = 1MB

        1024MB = 1GB

        1024GB = 1TB

二进制数据存储

        计算机底层都是使用二进制进行数据的存储的。不同类型的数据,存储方式也有不同。

整数存储

计算机底层存储整数并不是把整数转换为二进制直接存储,而是以二进制的补码形式进行存储。

原码:把十进制转为二进制,然后最高位设置为符号位,1是负数,0是正数。

反码:正整数的反码与原码相同,负整数的反码在原码的基础上,符号位不变,其余位取反(0变1,1变0)

补码:正整数的补码与原码相同,负整数的补码为其反码+1

分为两种情况:

(1)无符号:不考虑正负数

0000 0000 ~ 1111 1111 ==> 0~255

(2)有符号:-128~127

0000 0000 ~ 0111 111 ==> 0~127

1000 0001 ~ 1111 1111 ==> -127 ~ -1 (补码形式存储)

1000 0000 ==> -128 特殊值,最高位既是符号位,又是数值位

如何存储小数(了解)

  • 为什么float(4个字节)比long(8个字节)的存储范围大?

  • 为什么double(8个字节)比float(4个字节)精度范围大?

  • 为什么float和double不精确

float型和double型数据的存储方式

  1. 符号位(Sign) : 0代表正,1代表为负
  2. 指数位(Exponent):用于存储科学计数法中的指数数据,并且要加上偏移量(float偏移127,double偏移量1023)
  3. 尾数部分(Mantissa):尾数部分

而双精度double的存储方式为:

 如何存储字符

        在计算机的内部都是二进制的0、1数据,如何让计算机可以直接识别人类文字的问题呢?就产生出了编码表的概念。

         就是将人类的文字和一个十进制数进行对应起来组成一张表格。

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

Java中使用的字符集:Unicode编码集

        转义字符  \u字符的Unicode编码值的十六进制型

(1)\u字符的Unicode编码值的十六进制型

                char c = '\u674e';
                char c = '尚';

(2)直接给char类型变量赋值十进制的0~65535之间的Unicode编码值

                例如:'尚' 的编码值是23578

                'a'的编码值是97

(3) char 的底层存储的是编码值
                0:48
                A: 65
                a: 97

数据类型(data type)

        基本数据类型:包括 整数浮点数字符布尔

        引用数据类型:包括 数组接口

四类八种基本数据类型:

 Java中的默认类型:整数类型是int 、浮点类型是double

整型系列

         byte:字节类型  1个字节    -128~127 

         short:短整型类型     2个字节     -32768~32767

         int:整型   占内存:4个字节

         long:整型   占内存:8个字节

注意:如果要表示某个超过int范围的常量整数它是long类型,那么需要在数字后面加L

浮点型系列(小数)

        (1)float:单精度浮点型   占内存:4个字节  精度:科学记数法的小数点后6~7位

          注意:如果要表示某个常量小数是float类型,那么需要在数字后面加F或f,否则就是double类型

        (2) double:双精度浮点型    占内存:8个字节  精度:科学记数法的小数点后15~16位  

单字符类型:char

          (3)占内存:2个字节        

布尔类型

        boolean:只能存储true或false

虽然计算机底层使用0和1表示false和true,但是在代码中不能给boolean类型的变量赋值0和1,只能赋值false和true

基本数据类型转换(Conversion)

 

强制类型转换

数据类型 变量名 = (数据类型)被强转数据值;

运算符

        运算符:是一种特殊的符号,用以表示数据的运算、赋值和比较等。

        表达式:用运算符连接起来的式子

 

 

&&和&区别,||和|区别

短路与,短路或运算符左边表达式结果可以确定最终结果,则运算符右边表达式不再进行运算,效率高

  • &&&区别:

    &&&结果一样,&&有短路效果,左边为false,右边不执行;&左边无论是什么,右边都会执行。

  • |||区别:

    |||结果一样,||有短路效果,左边为true,右边不执行;|左边无论是什么,右边都会执行。

 位运算符的运算过程都是基于补码运算,但是看结果,我们得换成原码,再换成十进制看结果

  • 从二进制到十进制都是基于原码

  • byte,short,char在计算时按照int类型处理

  • 位运算直接对二进制进行位移操作实现数值运算,所以运算效率高

如何区分&,|,^是逻辑运算符还是位运算符?

如果操作数是boolean类型,就是逻辑运算符,如果操作数是整数,那么就位运算符。

 

  1. 无符号右移:>>>

运算规则:往右移动后,左边空出来的位直接补0,不看符号位

正数:和右移一样

负数:右边移出去几位,左边补几个0,结果变为正数

 

这篇关于JAVA前三天内容总结(全是知识点)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!