初识Java----适合网络编程的语言

Java第一天

  • 前言
  • 准备工作
    • 什么是JDK?
  • 主函数
  • 字节码文件---class
  • Java类型和类型
    • 变量
      • 如何定义变量
      • 整形变量
        • 变量命名规则
      • 长整形 Long
      • 短整型short
      • 浮点型
        • 双精度浮点型double
        • 单精度浮点型float
      • 变量的初始化
      • 字符类型
        • char
        • byte

前言

Java不同于C语言,C语言是面向过程的语言,而Java是一门面向对象编程语言。
Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

Java是由一家名叫"sun"的公司于1995年推出的高级编程语言。起初因为sun公司门口的橡树叫oak,后因为版权原因不得不更改,在更改的时候因为某人喜欢爪哇岛的咖啡,所以叫Java, Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)。

以上来自于百度百科,有删改。

准备工作

IDEA(Java开发工具)安装好了吗?JDK弄好了吗?Java环境搞明白了吗?去学习一门编程语言不能光说不练,去百度也好,去问别人也好,先把这些东西准备好,一起来进入Java的世界。

什么是JDK?

JDK全程Java Development Kit,是Java这门语言的工具包,就像你玩我的世界的物品栏一样 ,其中包含了JRE(Java运行环境),你可以理解为工作台 而jre中又包含了JVM(Java虚拟机),JVM时一个软件,使用C/C++实现的,当你写了一段代码编译运行时,它会跑到JVM上去执行的。

主函数

主函数相当于人类的头部,头部只能有一个,用来运行“身体”的各项部位。
Java之中的主函数是这么写的

public class HelloWorld {
	
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
	
}

class是一个关键字,意思是定义一个类,这行代码的意思是创建一个公共的类HelloWorld。

public是一个访问修饰限定符,意思是公共的,意思是他是一个公共的类。如果一个类你用了public修饰,那么他必须和文件和文件名字一样。
其他的暂不做过多介绍。
main是一个函数,在Java中也叫方法,main的意思是头函数,代码执行的过程主体都是执行main函数中的。

System.out.println("HelloWorld");

这段代码有些人很熟悉,Hello World,每个人学习编程遇到的第一个语句你好世界。这段代码类似于C语言的printf。代码执行结果如下
在这里插入图片描述
当你使用printf时,和C语言的使用方式一样,当你使用println时,就是如上的使用方法,也可以使用print,这个是正常的打印,如果你加上ln,就会换行。

/*这里是一行注释
*/

public class HelloWorld {
	
	public static void main(String[] args) {
		System.out.printf("HelloWorld");
		System.out.println("HelloWorld");
		System.out.print("HelloWorld");
	}
	
}

执行结果如下
在这里插入图片描述

这段代码虽然很简单,但是意义非凡。
当你写下了这段程序,就意味着你踏入了编程语言的大门,无论你是没有接触过编程语言还是接触过。一入Java深似海,从此节操是路人。

字节码文件—class

当我们编译运行Java文件时,会出现XXX.class文件,这个就是字节码文件,每一个类编译时会出现一个字节码文件,如果你在一个Java文件中编写了多个类,那么这些类会分别生成一个字节码文件。(不推荐在一个Java文件中写多个类)
当你编译后生成字节码文件,运行时会将字节码文件放到JVM上运行。只要你拥有一个Java文件的字节码文件,你就可以在其他地方运行。
这就是Java的可移植性,一次编译,到处运行。

Java类型和类型

变量指的是程序运行时可变的量,相当于开辟一块内存空间来保存一些数据。
类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性。

变量

变量相当于是一个箱子,箱子有大小,可以放小于箱子大小的物品。
要了解变量,我们先来了解一下冯诺依曼体系:
初识Java----适合网络编程的语言_第1张图片
输入设备:键盘麦克风等等。
输出设备:屏幕
外存储器:磁盘,光盘,U盘,硬盘。
内存储器:运行内存。比如我们购买手机时,商家会介绍手机,手机有8G+256G的内存。其中的8G就是内存储器,就是运行内存,而256相当于外存储器。

如何定义变量

变量类型 变量名 = 变量值。

整形变量

整形是int:

int a = 10

这里定义了一个名叫a的整形变量,其数值为10.
占用了4个字节。
不同于C语言在32位/64位机器上int类型大小不同,Java的int类型统一是4字节,这又一次说明了Java的可移植性高。

并且Java中的int,统一是有符号类型,没有C语言中unsigned int无符号类型。
int的大小是4字节=(4*8) = 32位.其中首位为符号位,0为正数,1为负数,其余的31位为数值位。
所以int类型的上下限为-2^31 至 2^31-1。
我们来看一下

public class HelloWorld {
	
	public static void main(String[] args) {
		int a = 10;
		System.out.println(a);
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
	}
	
}

执行结果如下
在这里插入图片描述
实际上,数值的上下限是个环
举个例子:
正数最大值的二进制是
0111 1111 1111 1111 1111 1111 1111 1111
加一变成
1000 0000 0000 0000 0000 0000 0000 0000
其数值为2^31,因为符号位是1,所以为负数。
测试代码如下

public class HelloWorld {
	
	public static void main(String[] args) {
		int a = 10;
		System.out.println(a);
		System.out.println(Integer.MAX_VALUE+1);
		System.out.println(Integer.MIN_VALUE-1);
	}
}

执行结果如下
在这里插入图片描述

变量命名规则

变量名可以包含数字,字母,下划线和美元符号

public class HelloWorld {
	
	public static void main(String[] args) {
		
		int Max1 = 0;
		int Max_2 = 0;
		int 3a = 0;//不可用
		int Max_$ = 0;
		int _______ = 0;//不规范
	}
}

变量名首位需要是字母,不可以数字开头

如果变量名均为下划线,是可以的,但是不规范不建议。
初识Java----适合网络编程的语言_第2张图片
在写代码的时候,尽量要养成好的编程习惯。
例如,变量尽量使用英文,不要使用拼音。实际上,使用汉字作为变量名也是可以的,但同样不建议。
至于为什么能使用汉字,因为Java使用了Unicode字符集,包含了中文,拉丁文等等。

长整形 Long

有的数据较大,int无法存储,所以Java中有long,
long是长整型,可以理解为int–plus
但是数字后面要跟一个l或者L,代表他是long类型
long是64个比特位 = 8个字节.
上下限是-2^63 至 2^63-1。

public class HelloWorld {
	
	public static void main(String[] args) {
		long a = 10L;
		System.out.println(a);
		System.out.println(Long.MAX_VALUE+1);
		System.out.println(Long.MIN_VALUE-1);
	}
}

结果如下
在这里插入图片描述

短整型short

是一个精简版的int,只占2个字节。
上下限是-2^15 至 2^15-1

浮点型

双精度浮点型double

double占8个字节,用来处理小数。
如果你使用int类型,在运算1/2的时候结果是0,因为2个整形的结果一定是整形。

int a = 1/2;
		System.out.println(a);

在这里插入图片描述

double a = 1;
		double b = 2;
		System.out.println(a/b);

在这里插入图片描述

并且在计算机中,小数是无法完全精确的,它只能精确到一定位。

double a = 1.1;
		System.out.println(a*a);

在这里插入图片描述

单精度浮点型float

float和double类似,但是其只有4个字节大小,需要在小数后加一个f或者F,代表他是float。

float a = 1.1f;
		System.out.println(a);

在这里插入图片描述

如果不加f,那么系统会默认该小数是double,double的8个字节大小放不进float,所以会报错。

float a = 1.1;
		System.out.println(a);

在这里插入图片描述

变量的初始化

变量需要进行初始化,初始化就是指在变量定义的时候赋值,在部分语言例如C语言中,运行不进行初始化,但是会报警告,此时该变量值为随机。
而Java中比较严谨,虽然你可以定义未初始化的变量,但是不允许使用未初始化的变量,会直接报错。
Java中不存在类似C中的截断。

public class HelloWorld {
	
	public static void main(String[] args) {	
		int a;
		System.out.println(a);
	}
}

初识Java----适合网络编程的语言_第3张图片

字符类型

C语言中有字符类型char,Java中有char和byte两种。

char

Java中的char不同于C语言中的插入,Java中的char是2个字节。

char ch = '特';
		char ch2 = 97;
		System.out.println(ch);
		System.out.println(ch2);

在这里插入图片描述
PS:汉字占2个字节。97是a的ASCII值

byte

字节类型byte,只占一个字节,用法类似C语言中的char。

初识Java----适合网络编程的语言_第4张图片

但是1个字节大小有限,不要超过1个字节上下限。
8个比特位的上下限是-128至127.
初识Java----适合网络编程的语言_第5张图片
对于其他类型,比如bool类型的介绍,将会在以后的文章中介绍。

你可能感兴趣的:(攻略,java)