java基础

2021/7/16 11:22:23

本文主要是介绍java基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

大数据

概念

​ 海量数据,具有高增长率、数据类型多样化、一定时间内无法使用常规软件工具进行捕捉、管理和处理的数据集合。

大数据特征

大量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息;

速度(Velocity):指获得数据的速度;

多样(Variety):数据类型的多样性;

价值(Value):合理运用大数据,以低成本创造高价值;

真实性(Veracity):数据的质量;

java

Java的特点

面向对象

Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。

平台无关性

平台无关性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run anyWhere)”的语言。

简单性

Java 语言的语法与 C 语言和 C++ 语言很相近,使得很多程序员学起来很容易。

解释执行

Java 程序在 Java 平台运行时会被编译成字节码文件,然后可以在有 Java 环境的操作系统上运行。

多线程

Java 语言是多线程的,这也是 Java 语言的一大特性,它必须由 Thread 类和它的子类来创建。

分布式

Java 语言支持 Internet 应用的开发,在 Java 的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括URL、URLConnection、Socket 等。Java 的 RIM机制也是开发分布式应用的重要手段。

健壮性

Java 的强类型机制、异常处理、垃圾回收机制等都是 Java 健壮性的重要保证。

高性能

安全性

Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防止恶意代码的攻击。

Java的执行机制

Java程序的执行分为两步:编译、运行

  1. 编译:将Java源程序,编译为 .class 字节码文件。

  2. 运行:将 .class 文件,加载到JVM虚拟机中,执行。

Java的相关名词

JDK

​ Java Development Kit,Java开发环境。

​ 包含了JRE、Java核心类库、开发工具包(编译器+调试工具)

JRE

​ Java Runtime Environment,Java运行环境。

​ 包含JVM和解释器,完整的Java运行环境

JVM

​ Java Virtual Machine,Java虚拟机。

​ 使用软件在不同操作系统中,模拟相同的环境(java实现跨平台的根本原因)

第一个java程序-helloworld

//注释:对代码解释说明,不需要进行编译
//注释分为三种形式
//第一种:单行注释
/*
第二种:多行注释
*/

/**
第三种:文档注释
*/

//2.我们把java赋予了特殊含义的单词称为关键字,public,static,void
//3.class表示类,后面跟着的是类名
//在java中是以内为工作单位,我们通过然类与类之间产生关系来实现功能。
//{}表示工作范围,在类后面的表示类的工作范围
//6.一个类对应一个.class文件,.class文件的名字默认与类名一样,在程序中一个类只会生成一个.class文件。
//7.一个.java文件中可以有多个类,但是默认只有一个,而且这个类的名字默认与.java文件一致.
//8.如果类Hello前面没有使用public修饰,类名与.java的名字可以不一致,一旦类名前面加了public,就必须让类名与.java文件名一致。
//9. 一个.java文件中只能有一个被public修饰
class Hello{
	//4.这里是一个方法;方法是有某种功能的一段代码
	//mian方法是一个特殊的方法,是程序的入口
	//public:表示修饰可见内容的范围,public表示任意位置都可见,其它的几种,private 私有的,protected 受保护的 default:默认的
	//static:修饰的内容是可见的
	//void:是空的意思
	//main :后面的()中是参数
	
	public static void main(String[] args){
		//5.就是打印的意思
		/*
		print():只打印不换行,()中必须写内容
		println():打印同时换行,()中可以不写,表示换行
		printf():格式化输出
		java 中“”表示字符串,‘’表示字符
		*/
		System.out.println("hello world ");
		System.out.print("hello world");
		System.out.printf("\n 姓名:%s 年龄:%d 生日:%d","张三",4,5);
		
	}
}
/*
是一个二进制的文件
是计算机能够识别的人间类型,而
.java文件计算机不能直接识别
*/

进制详情

进制的简介

​ 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。

二进制:逢2进1,以0b开头(0-1表示)

八进制:逢8进1,以0开头(0-7表示)

十进制:逢10进1,没有任何内容表示开头(0-9表示)

十六进制:逢16进1,以0x开头(0-9,a-f表示)

进制的转换

十进制转其他进制

辗转相除法: 用数字除进制,再用商除进制,一直到商为零结束,最后将每一步得到的余数倒着连接以来,就是这个数字的指定的进制表示形式。

其他进制转十进制

每一位的数字乘进制的位数-1次方,再将所有的结果累加到一起。

二进制与八进制,十六进制的相互转换

每一个八进制位可以等价替换成三个二进制位。
注意:
1.划分从右到左进行,如果二进制数的左边不够三位,直接在高位补零凑齐三位
2.当八进制数转成二进制数时,将上述过程反转,有一点要记住,每一个八进制的数必须对应三
位二进制位,如果八进制数在转化时得到的二进制数不够三位,直接在最左边用零补齐.
每一个十六进制位可以等价替换成四个二进制位。
跟二进制与八进制的转化规则类似

原反补

  1. 原码: 一个数字的二进制表示形式, 前面的计算二进制表示形式, 得到的就是原码。
  2. 反码: 正数的反码与原码相同; 负数的反码是原码符号位不变, 其他位按位取反。
  3. 补码: 正数的补码与原码相同; 负数的补码是反码 + 1 。

Java语法基础

标识符

定义:Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。

标识符的命名规则

1. 由字符(含英、中、日、俄等)、数字、下划线(_)和美元符号($ 音:dollar)组成。
2. 不能以数字作为开头。
3. 区分大小写。
4. 长度无限制。(一般不要超过15个字符)
5. 不能与系统关键字或者保留字重名。

标识符的命名规范

1.标识符命名习惯:见名知意。墙裂建议使用英文单词。 studentName teacherAgeTable
2.驼峰式命名:
	大驼峰命名法: 每一个单词的首字母都大写。
	适用类型:类名,接口名
	小驼峰命名法: 首字母小写,如果多个单词组成,第一个单词首	字母小写,剩下的单词
	首字母大写
	适用类型:变量名,方法名,参数名
3.对于包名:所有的字母都小写
4.对于常量:所有的字母都大写

关键字、保留字

关键字:Java中有一些赋予特定的含义,有专门用途的字符序列称为关键字(keyword)。全部为小写
保留字:没有定义用途,但保留备用的字符序列。比如:goto、const

在这里插入图片描述

常量,变量

如果某个数据在程序运行的过程中, 值是可以改变的, 这样的数据被称为是变量。(其实是内存中的一小块区域,使用变量名来访问这块区域。因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用,变量中存储的数据就是常量。)

如果某个数据在程序运行的过程中, 值是不可以改变的, 这样的数据被称为是常量

局部变量或者局部常量, 在使用的时候一定要有值。 如果某一个局部变量或者局部常量没有值, 这个变量或者常量将无法使用。

在这里插入图片描述

数据类型的作用

合理的使用内存空间

在Java中, 数据类型分为两类: 基本数据类型(八种) 和 引用数据类型

在这里插入图片描述

数据类型的转换

自动类型转换
    又叫做隐式转换, 一般是由取值范围小的数据类型, 向取值范围	  大的数据类型转换
    转换过程不需要任何额外操作
    转换后, 没有任何精度丢失情况
强制类型转换
    又叫做显式转换, 一般是由取值范围大的数据类型, 向取值范围     小的数据类型转换
    转换过程需要强制操作, 不能自动完成
    转换后, 可能会出现精度丢失的情况

运算符

1.算术运算符:+ 、 - 、 * 、 / 、 % 、 ++ 、 --
2.赋值运算符:= 、 += 、 -= 、 *= 、 /= 、 %=
3.关系运算符:> 、 < 、 >= 、 <= 、 == 、 !=
4.逻辑运算符:! 、 & 、 | 、 ^ 、 && 、 ||
5.位运算符:& 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>>(了解)
6.字符串连接运算符:+
7.三目运算符 ?:

算术运算符

特殊说明:
加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串
除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相
除
“%”取模(取余数),小数取余没有意义。结果符号与被取余符号相同
余数的符号与被除数的符号一致
两个整型的数据进行除法, 结果还是整型, 会将计算的浮点结果强转成整型
自增运算符++, 用在变量前, 表示先对这个变量进行+1操作, 然后再取变量值
自增运算符++, 用在变量后, 表示是先取变量值, 后对这个变量进行+1操作
自减同自增

逻辑运算符

在这里插入图片描述

位运算符

位运算符, 只能作用于两个整型的变量。 将两个整型变量计算出补码, 然后对每一位的数字, 进行类似于逻辑运算的操作。 1相当于true, 0相当于false。

在这里插入图片描述

三目运算符

运算符:?:
描述:三目运算符, 是一个带有些逻辑的运算符, 基础语法如下:
布尔结果表达式/布尔变量 ? 值1 : 值2
如果问号前面的布尔值为true, 整体的结果为值1。 否则整体的结果为值2。

优先级和结合性

在这里插入图片描述

注意

int i =1;
i=i++
sout(i);//i=1

byte b = 2;
b +=2 ; 这样写可以,默认byte
b = b +2;这样写不行,必须强转

float f = 4.0 ;从高到低,强转需要加f
f = 4;从低祷告,自动转,不需要加f


这篇关于java基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程