欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java基础之Java简介、变量、数据类型、运算符及其相关配置,java运算符

来源: javaer 分享于  点击 9191 次 点评:271

Java基础之Java简介、变量、数据类型、运算符及其相关配置,java运算符


一、Java简介

Java之父--詹姆斯·高斯林(“高司令”)

Java优势

1、跨平台(“一次编译,到处运行”)


2、健壮、安全

Java在安全性上下了很大功夫使用Java可以构建防病毒,防篡改的系统。开源、安全处理机制。

3、分布式

4、多线程

5、面向对象

6、高性能

Java发展方向

1、JavaSE(Java Standard Edition):Java标准版

基础,可以开发桌面应用、图形化应用等

2、JavaEE(Java Enterprise Edition):Java企业版

开发企业级应用

3、JavaME(Java Micro Edition)

手持设备应用开发(eg:安卓、机顶盒嵌入程序)

二、JDK的安装与环境搭建

基本概念:

JDK(Java Development Kits)-- Java开发工具集

JRE(Java RunTime Environment)-- Java运行时环境

首先我们先在oracle官网上下载JDK,官网的下载地址是:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,点击链接,进入页面选择下载,下载之后双击安装程序打开,在安装时可以选择JDK的安装目录,也可默认,安装完之后,我们需要进行环境变变量的配置

设置环境变变量:
1、右键单击“我的电脑”,点击“属性”,点击“高级系统设置”,点击“环境变量”,此时,会出现下图所示的界面;


2、添加JAVA_HOME环境变量,点击上图下面的新建,会弹出如下所示的提示框;


在变量名那一栏填入“JAVA_HOME”,在变量值一栏填入JDK的安装目录,如,我的安装目录是:C:\Program Files\Java\jdk1.8.0_152,点击确定;

3、添加CLASSPATH环境变量,添加方法如上,只需要改变变量名和变量值即可,变量值里面填入“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”,点进确定;

4、修改path:用于指定操作系统的可执行指令的路径,点击Path,选择编辑,进入“编辑环境变量”界面,点击新建,在新出现的光标框里填入“%JAVA_HOME%\bin”,再点击新建,填入“%JAVA_HOME%\jre\bin”,注意:在这里不要修改其他变量,否则电脑会出故障!然后依次点击“确定”-“确定”-“应用”,最后再点击“确定”;

5、完成上述步骤后,用组合键win+r打开“运行”,输入cmd指令,回车之后会弹出DOS操作界面,在DOS框中输入javac和java,回车,如果出现下图所示的信息说明环境变量配置成功,否则重新配置



Java的简单编程:

package base;
public class Learn
{
   public static void main(String[] args)
   {
       System.out.println("Hello world,Hello Java!");
   }
}

运行出来的结果是:Hello World,Hello Java!

小技巧:

1、在DOS下切换目录:cd 目标目录

2、在DOS下编译java源代码:javac 源文件名称.java(如:javac hello.java)

3、在DOS下运行.class文件(字节码文件):java 源文件名称(如:java hello)


三、变量

变量:程序执行中数据可变的一块存储空间

变量名:定义变量的标识符

变量值:内存单元中所装载的数据

每一个变量使用前必须要先申请(声明),然后进行赋值(填充内容),才能使用。

eg:int i = 20;

int y;

y  = i + 10;

四、数据类型


整数类型


Java语言的整型常量默认为int。

要声明long型变量可以加'l'或者'L',如;long l = 3L;

浮点类型


Java浮点型常量默认为double型,如果要声明一个变量为float型,则需要在数字后面加'f'或者'F',

如:double d = 3.14;            float f = 3.14f;

字符类型

1、char型数据用来表示通常意义上“字符”,如:char c = 'A';

2、Java中每个字符占两个字节(0-65535),如:char c2 = 97;

3、字符本质上讲是数字。每一个字符映射到一个范围在0到65535的整数。

4、录入char类型 数据的方法:

Scanner input = new Scanner(System.in);
System.out.println("性别");
//获得用户输入字符中的第一个字符
char sex = input.next().charAt(0);
System.out.println("性别" + sex);

字符类型的基本实例:

package base;
public class CharDemo
{
   public static void main(String[] args)
   {
       char c='中';
       System.out.println(c);
       int a=c;
       System.out.println(a);
       System.out.println('a'+5);
       
   }
}

运行结果是:


上面的运行结果中只有第一个结果也许会有许多人会理解,至于第二、第三个结果就会让人摸不着头脑,在这里简单解释一下,上述所说的字符实际上是数字,所以将一个字符型变量赋给整形变量后相当于是把它映射成一个整数,大家仔细看一下“a”它是被单引号引起来的,表明是一个字符,每一个字符都会有一个ASCII码值,'a'+5相当于将a所对应的ASCII码值加上5所得出的结果,有兴趣的,可以翻阅一下相关资料。

转义字符


package base;
public class ConvertChar
{
    public static void main(String[] args)
    {
        System.out.println("*****\t***********\n");
        System.out.println("\"降龙十八掌\"");
        System.out.println("\\a");
    }
}
运行结果是:

基本数据类型之间的转换

基本数据类型之间的转换分为以下两种:

1、自动类型转换       

short->int->long->float->double                

 2、强制类型转换

通常来讲,浮点型数据是不能转换成成形数据的,这样会造成精度的损失,但由于特殊需要,所以可以在数据前面加上圆括号以及类型如:int x = (int)3.14f;就能将double型的数据转换成int型的。

package base;

public class NumberDemo {

	public static void main(String[] args) {
		int a = 10;
		long b = 6L;
		long c = a;//自动转型,小范围数据转换成大范围数据
		System.out.println(c);
		
		int x = (int)b;//强制转型,大范围数据转换成小范围数据
		System.out.println("强制转型成int后:" + x);
		
		float f = (float)3.1;//强制转型,将double类型转换成flaot型
		System.out.println("强制转型成float后:" + f);
	}

}

运行结果:


boolean类型不能转换成任何其他数据类型。

五、运算符

算术运算符:+、-、*、/、%、++、--

赋值运算符:=、+=、-=、*=、/=、%=

关系运算符:>、<、>=、<=、==、!=

逻辑运算符:!、&、|、&&、||

位运算符:&、|、^、~、>>、<<、>>>

字符串连接符:+

三目运算符:?:   --------结果返回boolean值的表达式?"结果为true的内容":"结果为false的内容"

三目运算符实例:

package base;

//三目运算符
public class TripleOperator {

	public static void main(String[] args) {
		System.out.println(100>99?"果然大于":"小于");
	}

}

运行结果:


易混淆运算符:

1、自增运算符:++

易混淆的点:a++先报存旧值,在自增,用旧值参加运算

                   ++a直接自增,用自增后的值参加运算

package base;

public class Defficult {
	public static void main(String[] args) {
		int i = 0;
		i = i++;
		/**
		 * int temp = i;//保存i的旧值
		 * i = i + 1;   //对i进行自增
		 * i = temp;
		 **/
		System.out.println("i=" + i);
		
		int j = 0;
		j = ++j;
		/*
		 * j = j + 1;//直接自增,不保存旧值
		 * j = j; 
		 */
		System.out.println("j=" + j);
	}
}

运行结果:


2、短路与&&   如果前面的判断结果为false,则后面的判断不在执行。

非短路与& 每一个判断逻辑都要执行

package base;

public class LogicAnd {
	public static void main(String[] args) {
		if(100 / 2 == 20 && 10 / 2 == 0) {
			System.out.println("恭喜");
		}
	}
}

没有运行结果,因为if语句中的第一个判断结果为false,程序不会继续向下走,就不会执行输出语句。

3、短路或|| 如果前面的判断结果为true,则后面的判断不在执行。

非短路或 |  每一个判断逻辑都要执行

package base;

public class LogicOr {
	public static void main(String[] args) {
		if(100 / 2 == 50 || 10 / 0 == 0) {
			System.out.println("恭喜");
		}
	}
}

运行结果:


这个代码有运行结果,是因为if语句中判断条件只要有一个为true,程序就会向下走,会执行输出语句。


















相关文章

    暂无相关文章
相关栏目:

用户点评