JAVA基础(1)

JAVA基础(1)

一,JAVA的特性与优势

1.跨平台/可移植性

这是java的核心优势,比如:JAVA的int 永远都是32位,不像c++可能是16,32,可能是根据编译器厂商规定的变化,这样的话,程序的移植就会变得非常的麻烦。

2.安全性

3.面对对象

面对对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼顾了C,使得自身仅仅成为了带类的C语言,多少影响了其面对对象的彻底性,JAVA则是彻底的面对对象语言

4.简单性

JAVA就是C++ 语法的简化版,我们也可以将JAVA称之为"C+±"

5.高性能

JAVA最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运次效率总是低于低级语言的,JAVA语言本身发展中通过虚拟机的优化提升了几十倍效率。

6.分布式

JAVA是为INTERNET的分布式环境设计的,因为它能处理TCP/IP协议,事实上,通过URL访问一个网站资源和访问本地文件是一样简单的,JAVA还支持远程方法调用(RMI,REmote,Method Invocation),使程序能够通过网络调用方法。

7.多线程

多线程的使用可以带来更好的交互相应和实时行为

8.健壮性

JAVA是一种健壮的语言,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分

二,JAVA的跨平台原理

跨平台,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。

实现跨平台:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。(注意不是能在所有的平台上运行,关键是该平台是否能安装相应的虚拟机)。

Java跨平台原理
由源文件(.java)—>字节码文件(.class)(二进制文件)-----> 解释---->Unix,Win,Linux等机器。

1.一次编译,到处运行

2.编译器的作用:将源文件编译成class文件

3.虚拟机的作用:将字节码文件解释成对应平台机器码并执行。

4.java可以实现跨所有的平台?只有提供并且安装了相对应的虚拟机就可以跨该平台。

5.虚拟机和解释器的关系:解释器是虚拟机的一个重要的组成部分。

6.Java语言的执行要经过编译和解释两个阶段。

三,JAVA数据类型

基本数据类型

JAVA是一种强类型语言,每个变量都必须声明其数据类型。
在这里插入图片描述

基本数据类型转换问题

1.什么是类型转换

类型转换: 在赋值运算或者是算术运算的时候,要求数据类型一致,就要进行类型的转换。

2.类型转换的种类

自动转换,强制转换

3.类型级别:(从低到高)

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

级别是用来在一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后其余的类型都转换为当前表达式中级别最高的类型进行计算。

在进行计算的时候

左<右:强转

左>右:直接自动转换

左=右:直接赋值

四,JAVA运算符

1.算术运算符

2.赋值运算符

3.扩展赋值运算符

4.关系运算符

5.逻辑运算符

6.位运算符

7.条件运算符

五,其他

1.final变量(常量)

用final 修饰的成员变量表示常量,只能被赋值一次,赋值之后的值无法改变。

final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。

另外,final变量定义的时候,可以先声明,而不给初值,这种变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在final关键字final的使用上提供了更大的灵活性,为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。

2.scanner用法

1.先导入Java.util.Scanner

import java.util.Scanner;

2.创建Scanner类的对象

Scanner sc=new Scanner(System.in);

3.创建一个变量来接收数据

int num1=sc.nextInt();
double num2=sc.nextDouble();
String num3=sc.next();
float num3=sc.nextFloat();

4.注意

输入字符串时Java中next()只能获取空格之前的数据

解决办法:

为了获得所以数据,我们修改输入数据的分隔符,添加sc.useDelimiter(“\n”);

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
    Scanner  sc=new Scanner(System.in);//从键盘接收数据//
    sc.useDelimiter("\n"); //输入数据的分隔符
    String s=sc.next();
    System.out.println(s);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值