资讯详情

JAVA简单入门

Java语言的特点

jdk(java development kit java开发工具包)

jre(java runtime environment java运行环境)

JDK=JRE 开发工具集(例如javac编译工具等))

一、生成helloworld

二、注释(comment)

对第一个Java总结程序

1.Java编程-编译-操作过程

2.在一个Java多个可以在原文件中声明class,但最多只能有一个类声明public的。

3.程序入口是main方法。格式是固定的。

4.输出语句:

5.每行执行语句均为";"结束。

6.编译过程:编译后,将生成一个或多个字节码文件。文件名和字节码文件Java源文件中的类名相同

三、Java的API文档

基本语法-toc" style="margin-left:0px;">四、Java的基本语法

1.关键字和保留字

用于定义流程控制的关键字

定义访问权限修改的关键字

关键词用于定义类、函数、变量修饰符

定义类与类之间关系的关键词

关键词用于定义建立实例和引用实例,判断实例

用于处理异常关键词

用于包的关键字

其他修饰符关键字

字面值用于定义数据类型值

保留字(reservedword)

2.标识符(identifer)

3.变量

变量的使用:

 4.Java中定义的数据类型

一.变量按照数据类型分:

整型

浮点型:float\double

字符型:char

布尔型:boolean

字符串类型:string

基本数据类型变量间转换

基本数据类型之间的运算规则

1.自动类型提升:

2.强制类型转换:自动类型提升运算的逆运算。

进制与进制间的转换

 二进制的整数有如下三种形式:

4.运算符

算数运算符:

赋值运算符:

比较运算符(关系运算符):

逻辑运算符:

位运算符

三元运算符

5.程序流程控制

运算符的优先级


Java语言的特点

面向对象性:

两个要素:类、对象

三个特征:封装、继承、多态

健壮性:去除了c语言中的指针

              自动的垃圾回收机制-->任然会出现内存溢出、内存泄漏

跨平台性:write once, run anywhere:一次编译,到处运行

归功于:JVM

jdk(java development kit java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK就不用再单独安装JRE了

jre(java runtime environment java运行环境)

想要运行Java文件,需要安装JRE

JDK=JRE+开发工具集(例如javac编译工具等)

JRE=JVM+JAVA SE标准库

一、生成helloworld

在下面的代码中,我们在test包下创建了一个class类(helloworld),然后我们在我们的helloworld类中定义了我们的主函数,并且使用打印功能,将helloworld打印出来。

package test;

public class helloworld {
        public static void main(String[] args){
            System.out.println("Hello,World!");
        }
}

二、注释(comment)

用于注释说明解释程序的文字就是注释

Java中的注释类型:

单行注释://

多行注释:/*   */

文档注释(Java特有):

/**

@author指定Java程序的作者

@version指定源文件的版本

*/

注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档

单行注释和多行注释的作用:

①对所写的程序进行解释说明,增强可读性。方便自己,方便别人

②可以调试所写的代码

特点:单行注释和多行注释的内容都不参与编译。换句话说,编译后生成的.class结尾的字节码文件中不包含注释掉的信息

多行注释不可以嵌套使用

public class hellojava{
	/*单行注释:如下的main方法是程序的入口!
main的格式是固定的!
	*/
	public static void main(string[] args){
	//单行注释:如下的语句表示输出到控制台
		system.out.println("hello world!");
	}
}

对第一个Java程序进行总结

1.Java程序编写-编译-运行的过程

编写:我们将编写的Java代码保存在以”.Java“结尾的源文件中

编译:使用Java.exe命令编译我们的Java源文件。格式:javac 源文件名.java

运行:使用Java.exe命令解释运行我们的字节码文件。个数:Java 类名

2.在一个Java原文件中可以声明多个class,但是,只能最多有一个类声明为public的。

用于指明这个类的权限大小。

而且要求声明为public的类的类名必须与源文件名相同

3.程序入口是main方法。格式是固定的。

4.输出语句:

#先输出,后换行

system.out.println():

#输出不换行

system.out.print():

5.每一行的执行语句都以";"结束。

6.编译的过程:编译后,会生成一个或多个字节码文件。字节码文件的文件名与Java源文件中的类名相同

三、Java的API文档

API(application programming interface,应用程序编程接口)是Java提供的基本编程接口。

Java语言提供了大量的基础类,因此oracle也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法

下载API

Java Downloads | Oracle

四、Java的基本语法

1.关键字和保留字

关键字(keyword)的定义和特点:

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

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

官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

用于定义数据类型的关键字

class

interface

enum

byte

short

int

long

float

double

char

boolean

void

用于定义流程控制的关键字

if

else

switch

case

default

while

do 

for

break

continue

return

用于定义访问权限修饰的关键字

private

protected

public

用于定义类,函数,变量修饰符的关键字

abstract

final

static

synchronized

用于定义类与类之间关系的关键字

extends

implements

用于定义建立实例及引用实例,判断实例的关键字

new

this

super

instanceof

用于处理异常的关键字

try

catch

finally

throw

throws

用于包的关键字

package

import

其他修饰符关键字

native

strictfp

transient

volatile

assert

用于定义数据类型值的字面值

true

false

null

 

Java保留字:现有的Java版本未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。

goto/const

2.标识符(identifier)

Java对各种变量、方法和类等要素命名时是哟的字符序列称为标识符

技巧:凡是自己可以起名字的地方都叫标识符

比如:类名、变量名、方法名、接口名、包名……

定义合法标识符的规范:-->如果不遵守如下的规则,编译不通过

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

数字不可以开头

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

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

标识符不能包含空格

Java中的名称命名规范:-->如果不遵守,编译可以通过但建议严格遵守

包含:多单词组成时的所有字母都小写:xxyyzz

类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

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

注意2:Java采用Unicode字符集,因此标志符也可以使用汉字声明,但不建议使用。

3.变量

使用变量注意:

Java中每个变量必须先声明,后使用

使用变量名访问这块区域的数据

变量的作用域:其定义所在的一对{}内

变量只有在其作用域内才有效

同一个作用域内,不能定义重名的变量

变量的使用:

1.Java定义变量的格式:数据类型 变量名=变量值;

2.说明:

①变量必须先声明再使用

②变量都定义在作用域内。在作用域内,它是有效的,出了作用域就无效了

③同一个作用域内不可以声明两个同名的变量名

class VariableTest{
    public static void main(String[] args){
//变量的定义
        int myAge=12;
//变量的使用
        System.out.println(myAge);
//变量的声明
        int myNumber;
//变量的赋值
        myNumber=1001;
        System.out.println(myNumber);
    }
}

 

 4.Java中定义的数据类型

一.变量按照数据类型分:

整型:byte\short\int\long

浮点型:float\double

字符型:char

布尔型:boolean

类(class)

接口(interface)

数组(array)

整数类型:byte\short\int\long

整型

Java各整数类型有固定的表述范围和字段长度,不受具体OS的影响,以保证Java程序的可移植性

Java的整型常量通常声明为int类型,除非不足以表示较大的数,才使用long

类型

占用存储空间

表述范围

byte

1字节=8bit位

-128~127

short

2字节

-215~215-1

int

4字节

-231~231-1(约21亿)

long

8字节

-263~263-1

1.声明long型变量,必须以"l"或"L"结尾

2.通常定义整型变量时用int类型

浮点型:float\double

与整数类型类似,Java浮点类型也有固定的表述范围和字节长度,不受具体操作系统的影响

浮点型常量有两种表示形式:

十进制数形式:如:5.12  512.0f   .512(必须要有小数点)

科学计数法形式:如:5.12e   512E2   100E-2

float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。

double:双精度,精度是float的两倍。通常采用此类型

Java的浮点型常量默认为double型,声明float型常量,需要在后面加2'f'或'F'

类型

占用存储空间

表述范围

单精度float

4字节

-3.403E38~3.403E38

双精度

8字节

-1.798E308~1.798E308

1.声明float型变量,必须以'f'或'F'结尾

2.通常定义浮点型变量时用double类型

字符型:char

char类型数据用来表示通常意义上”字符“(2字节)

Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。

字符型变量的三种表现形式:

字符常量是用单引号('')括起来的单个字符。例如:char c1='a';char c2='中';char c3='9';

java中还允许使用转义字符'\'来将其后的字符转变为特殊字符型常量。

例如:char c3='\n';//'\n'表示换行符

直接使用Unicode值来表示字符型常量:'\uXXX'。其中,XXXX代表一个十六进制常数。如:\u000a表示\n

char类型是可以进行运算的。因为它都有对应的Unicode码

布尔型:boolean

1.只能取两个值之一:true、false

2.常常在条件判断、循环结构中使用

字符串类型:string

string不是基本数据类型,属于引用数据类型

使用方式与基本数据类型一致。例如:string str="abcd"

一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如:

str=str+"xyz";
int n=100;
str=str+n

1.声明string类型变量时,使用一对""

2.string类型可以与八种基本数据类型变量做运算,且运算只能是连接运算:+

3.运算的结果任然是string类型

基本数据类型变量间转换

自动类型转换容量小的类型自动转换成容量大的数据类型。数据类型按容量大小进行排序为

(char ,byte,short)-》int-》long-》float-》double

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

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

Boolean类型不能与其他数据类型运算。

当把任何基本数据类型的值和字符串(string)进行连接运算时(+),基本数据类型的值将自动转化为字符串(string)类型。

基本数据类型之间的运算规则

前提:这里讨论的只是7种基本数据类型变量之间的运算。不包含Boolean类型的。

1.自动类型提升:

当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型

(byte/short/char)-> int-> long-> float-> double

特别的:当byte、char、short三种类型的变量做运算时,结果为int类型

2.强制类型转换:自动类型提升运算的逆运算。

double d1=12.3;
int i1=(int)d1;

1.需要使用强转符:()

2.注意点:强制类型转换,可能会导致精度损失

说明:此时的容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量

基本数据类型与string间转换

进制与进制间的转换

所有数字在计算机底层都是以二级制形式存在的。

对于整数,有四种表示方式:

二进制:0.1,满2进1,以0b或0B开头。

十进制:0-9,满10进1

八进制:0-7,满8进1,以数字0开头表示

十六进制:0-9以及A-F,满16进1,以0X或0x开头。此处的A-F不区分大小写。

计算机不同进制的使用说明:

class VariableTest{
    public static void main(String[] args){
        int num1=0b110;
        int num2=110;
        int num3=0127;
        int num4=0x110A;
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(num3);
        System.out.println(num4);
    }
}

 二进制的整数有如下三种形式:

直接将一个数值转换成二进制数。最高位是符号位

是对原码按位取反,只是最高位(符号位)确定为1.

其反码+1。

计算机以二进制补码的形式保存所有的整数。

正数的原码、反码、补码都相同

负数的补码是其反码+1.

4.运算符

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

算数运算符:

+

正号

-

负号

+

-

*

/

%

取模(取余),结果的符号和被模数相同。开发中,经常使用%来判断能否被除尽的情况

++

自增(前),先运算后取值;自增(后),先取值后运算

--

自减(前),先运算后取值;自减(后),先取值后运算

+

字符串连接

赋值运算符:

符号:=

当”=“两侧的数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。

支持连续赋值

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

不会改变数据本来的类型

比较运算符(关系运算符):

运算符

运算

==

相等于

!=

不等于

<

小于

>

大于

<=

小于等于

>=

大于等于

instanceof

检查是否是类的对象。:"hello" instanceof string        true

比较运算符的结果都是Boolean类型,也就是要么是TRUE,要么是FALSE

逻辑运算符:

&:逻辑与

|:逻辑或

!:逻辑非

&&:短路与

||:短路或

^:逻辑异或(如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。)

a

b

a&b

a&&b

a|b

a||b

!a

a^b

true

true

true

true

true

true

false

false

true

false

false

false

true

true

false

true

false

true

false

false

true

true

true

true

false

false

false

false

false

false

true

false

区分&与&&

相同点1:&与&&的运算结果相同

相同点2:当符号左边是TRUE时,二者都会执行括号右边的运算

不同点:当符号左边是FALSE时,&继续执行符号右边的运算。&&不再执行符号右边的运算。

区分:|与||

相同点1:|与||的运算结果相同

相同点2:当符号左边是FALSE时,二者都会执行符号右边的运算

不同点3:当符号左边是TRUE时,|继续执行符号右边的运算,而||不再执行右边的运算

开发中推荐使用短路与和短路或

位运算符

运算符

运算

范例

运算符细节

<<

左移

3<<2=12-->3*2*2

空位补0,被溢出的高位丢弃,空缺位补0.

>>

右移

3>>1=1-->3/2=1

被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1

>>>

无符号右移

3>>>1=1-->3/2=1

被移位二进制最高位无论是0或者1,空缺位都用0补

&

与运算符

6&3=2

二进制位进行&运算,只有1&1是结果为1,否则是0

|

或运算符

6|3=7

二进制位进行|运算,只有0|0是结果为0,否则是1

^

异或运算

6^3=5

相同二进制位进行^运算,结果是0;1^1=0,0^0=0;不相同二进制位^运算结果是1.1^0=1,0^1=1

~

取反运算

~6=-7

正数取反,各二进制码按补码各位取反;负数取反,各二进制码按补码各位取反

位运算符是直接对整数的二进制进行的运算

结论:

1.位运算符操作都是整型的数据

2.<<:在一定范围内,每向左移1位,相当于*2

   >>:在一定范围内,每向右移1位,相当于/2

三元运算符

格式:

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

条件表达式1为FALSE,运算后的结果是表达式2

条件表达式1位TRUE,运算后的结果是表达式1

表达式1和表达式2位同种类型

三元运算符与if-else的联系与区别:

1)三元运算符可简化if-else语句

2)三元运算符要求必须返回一个结果

3)if后的代码可能有多个语句

4)三元运算符可以嵌套使用

练习:获取三个数中的较大数

class VariableTest{
    public static void main(String[] args){
        int n1=12;
        int n2=30;
        int n3=-43;
        int max1=(n1>n2)?n1:n2;
        int max2=(max1>n3)?max1:n3;
        System.out.println("三个数中最大值为:"+max2);
        int max3=(n1>n2? n1:n2)>n3?(n1>n2? n1:n2):n3;
        System.out.println("三个数中最大值为:"+max3);
    }
}

5.程序流程控制

凡是使用三元运算符的地方,都可以改写为if-else

反之,不成立

如果程序既可以使用三元运算符,又可以使用if-else语句结构,那么优先使用三元运算符。因为:简洁、效率高效。

class VariableTest{
    public static void main(String[] args){
        //改写为if-else:
        int m=30;
        int n=-90;
        if(m>n){
            System.out.println("两个数中最大值为:"+m);

        }else{
            System.out.println("两个数中最大值为:"+n);
        }
    }
}

运算符的优先级

运算符有不同的优先级、所谓优先级就是表达式运算中的运算顺序。如下表,上一行运算符总优先于下一行

只有单目运算符、三元运算符、赋值运算符是从右向左运算的。

.  ()  {}  ; ,

R->L

++ -- ~   !(data type)

L->R

*  /   %

L->R

+  -

L->R

<<  >> >>>

L->R

<   >  <=  >=  instanceof

L->R

==   !=

L->R

&

L->R

^

L->R

|

L->R

&&

L->R

||

R->L

?   :

R->L

= *= /= %=

+=   -=   <<=   >>=

>>>=   &=  ^=  |=

标签: 110a手摇带式电容截断机

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台