您的位置:首页 > 编程语言 > Java开发

Java 输出输入、变量与数据类型、运算符

2017-08-25 11:20 281 查看

@author:云都小生(Cloudking)
其中有一些表格挖自菜鸟教程

关于JDK安装与环境变量的配置

其实 Step 很简单:

1. 到官网下载相应的JDK(按你的平台),并安装(默认目录即可)

2. 复制JDK所在的路径(./java/jdk/bin)

3. 我的电脑→属性→高级系统设置→环境变量→在系统变量中找到Path→将路径粘贴在最后的位置(记得用分号隔开,Windows 10下直接新建JAVA_HOME键,值为复制路径)

4. 在dos窗口,输入javac、java,查看是否配置成功,配置成功则会弹出帮助信息,不成功则重新配置。

为什么要配置环境变量?

1. 配置环境变量,我们就能在记事本中直接写代码,然后通过dos去进行编译、运行;
2. 配置环境变量,能让系统知道我们的命令放在什么地方,只有找到了地方系统才能使用指定的命令。

怎么在Dos中运行自己的Java文件?

1. 把你编写好的Java文件放到指定的目录下;

2. 通过Dos转移到该目录下;

3. 使用javac对该文件进行编译(javac Test.java);

4. 使用java执行该文件(java Test),没有.class后缀。

除了利用JDK在Dos中运行,还有什么平台可以用来开发Java程序?

可以下载MyEclipse,顺便下载破解工具,至于破解方案,点我!

第一个程序

首先你需要熟悉Java程序的整个框架

public class Hello{ #1
public static void main(String[] args){ #2
System.out.println("Hello,World\n"); #3
}
}

权限修饰符 class 类名{
public static void main(String[] args){
代码···
}
}


Java中是以类为程序的基本单位,#1 中 Hello 就是这个源文件的名称。这个名字一定要与源文件的名称相同,并且, Java中类名习惯第一个字母大写;

#2 是Java程序的入口(main);

#3 是Java中用来在控制台上打印信息的方法;

建议零基础入门的小伙伴,先不要花时间去理解整个程序,因为这里面涉及类、方法、权限修饰很多后面的内容,一开始先把这个代码敲几遍,了解一下大概的框架就行。(接下来编写代码,一般都会用到这个框架)

编写过程中的常见错误:大小写没记牢(Java对大小写敏感)、字母打错、混淆关键词随意乱凑、花括号、括号、中括号没有成对出现、语句结束没有加分号、漏写字母或者关键词。

变量与数据类型

为什么会有变量这种东西?变量就是可以随着程序运行变化的量。我们的数据存放在计算机内存中,是有一个地址的,为了使我们操作方便,所以我们起一个变量名,然后索引到该数据存在的地址。好吧,我们来看看怎么声明一个变量。

数据类型 变量名;
int number;
double score;
String name;

这就是声明一个变量的方式。第二行声明了一个整型的变量,变量名叫number。Java中提供了很多种基础数据类型:

·int 整型 存放整数 范围从-2147483648,2147483647

·byte 字节型 存放整数 范围从-128~127

·short 短整型 存放整数 范围从-32768~21767

·long 长整型 存放整数 范围从-9223372036854774808~9223372036854774807

·float 浮点型 存放小数

·double(一般用这个) 双精度浮点型 存放小数

·char 字符型 存放字符

·Boolean 布尔型 存放布尔值(真true 假false)

·String(引用数据类型) 字符串型

String其实不是基本数据类型,而是引用数据类型,以后我们会接触到,这里先不说。至于什么是字符,它跟字符串的关系就像羊肉串跟羊肉的关系,字符是指单个字符’A’,字符串就是’Cloudking’。

public class Test{
public static void main(String[] args){
String name = "Cloudking";
float score = 99.5;
System.out.println(name + "的成绩是" + "score");
}
}


程序中定义了两个变量,一个是name,用来存储姓名,另一个是scoroe,用来存储成绩。最后,通过System.out.println() 实现打印。

变量名的命名:没错,变量名的命名也是有讲究的。

1. 命名不能跟关键词一样,例如print、class···

2. 命名不能用数字作开头,例如1asd,2dasd···

3. 除了_和$外,变量名不可以使用其他特殊字符;

4. 变量名之间不能重复,重复就会出错;

5. 命名不能太随意,这个需要注意,你一整个程序的变量都是a1、a2、a3··· 如果定义多了,你怎么知道哪些变量是存放什么数据的。

这里给大家推荐一种驼峰命名法,很简单,你想定义一个变量来存放学生的成绩,student_Score。是不是简单粗暴,浅显易懂?再例如,存放学生的名字;student_Name。不过,这要求你的单词量要过关,否则憋不出单词来啊亲~

变量的声明与定义有什么区别?

声明就是“只给名字暂时不给数据”,定义就是在声明的时候顺便赋值。

int num1;   //声明
int num2 = 0;   //定义


一般我们不会选择声明一个变量,因为声明一个变量没有给它赋值,被拿去使用就会出错。一个变量刚声明出来的时候,它的值是不确定的,可能是一个乱码,不能被使用。所以我们大多数都选择在声明一个变量的时候,给它赋初值,也就是上面第二行。

输出与输入

上一节中,我们已经知道,System.out.println() 就是用来在控制台上打印相应的信息。

System.out.println("享受黑夜");
System.out.println("也期盼黎明");

System.out.print("享受黎明,");
System.out.print("也期盼黎明");

System.out.print("\n享受黑夜,\t也期盼黎明");


把这个放到MyEclipse里面运行试试。println和print的区别,前者打印完有回车换行,后者没有。既然到这里,就顺便说一下转义字符。在字符串中有一些特殊的字符,会以反斜杠为开头,例如\t和\n,它们分别表示Tab格和回车换行,在操作这些字符串的时候,会自动增肌一个Tab或回车换行。

既然有输出,就有输入,这里指的输入,是从键盘上获取数据,存储到变量中。看示例!

import java.util.Scanner;   #1

public class Test{
public static void main(String[] args){
Scanner input = new Scanner(System.in); #2
int number = input.nextInt();   #3
System.out.println(number);
}
}


运行这个程序之后,会让你输入一个number,这个功能是#1 ~ #3共同实现的。一般初学者都暂时不用去钻研这些东西,我用浅显易懂的语言来说明一下。我们所要用到的这个功能,放在Scanner这个包里面,所以要先引入这个包,这相当于你要用到一个工具,首先得知道它在哪里。程序想要使用这个工具,也得知道它在哪里。#2你可以理解成,为程序的输入做好准备。重点在#3,nextInt()给我们提供输入整型数据的功能。

如果你想输入字符串型的数据怎么样?直接用next()。输入Double就改成nextDouble。

String name = input.next();
double score = input.nextDouble();


运算符

Java提供的运算符包括算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符。

其实赋值运算符我们在一直都在接触,a = 10; 这里面的等号,就是赋值运算符,把右边的值赋给左边的变量。变量之间也能相互赋值,a = b;

算术运算符 包括我们平时所用的+ - / * 还有%(取余),++ –运算符。

int a = 2;
int b = 4;
System.out.println(a+b)
//关于加减乘除我就不写了

int a = 5;
int b = 2;
System.out.println(a % b);
//该结果是1,这个运算符取的是余数
//在取余数之前会先进行除法 5/2=2 余1 所以结果就是1

int a = 1;
a++;
System.out.println(a);
a--;
System.out.println(a);
//a++相当于a = a + 1;
//a--相当于a = a - 1;
//  其实也可以++a或--a,但是它们是有区别的
//  b = 1 + a++;
//  b = 1 + ++a;
//  一个是先1+a然后a再进行自增
//  另一个a先自增然后再加上1


这其中还有一个类型转换的问题,例如说float类型的数据想转换成int数据类型,就需要强制转换。因为float有小数,而int没有,如果直接赋值会出现错误。数据转换分为两种,一种是自动类型转换,另一种是强制类型转换。

自动类型转换:当一个精度小的变量yu 一个精度大的变量进行运算的时候,会自动的转换成精度大的类型。

强制类型转换: 当一个精度大的变量与一个精度小的变量进行运算时,就需要进行强制转换。

关系运算符 包括< > == <= >= !=。它们运算的结果是boolean,要么真要么假。

System.out.println(2 > 5);
System.out.println(5 == 5);
System.out.println(5 >= 5);


位运算符 包括& | ^ ~ << >>这些运算符可以对数据的二进制形式进行运算,假设整数变量A的值为60和变量B的值为13。

操作符描述例子
如果相对应位都是1,则结果为1,否则为0(A&B),得到12,即0000 1100
|如果相对应位都是0,则结果为0,否则为1(A | B)得到61,即 0011 1101
^如果相对应位值相同,则结果为0,否则为1(A ^ B)得到49,即 0011 0001
按位补运算符翻转操作数的每一位,即0变成1,1变成0。(〜A)得到-61,即1100 0011
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。A << 2得到240,即 1111 0000
>> 按位右移运算符。左操作数按位右移右操作数指定的位数。A >> 2得到15即 1111
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。A>>>2得到15即0000 1111
逻辑运算符 包括&& || !

操作符描述例子
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。(A && B)为假。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。(A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。!(A && B)为真。
赋值运算符 我们之前已经说过等于号了 = 这个就是赋值 ,还有其他赋值运算符。

操作符描述例子
=简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B将把A + B得到的值赋给C
+ =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
- =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C -

A
* =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
/ =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数C / = A等价于C = C / A
(%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数C%= A等价于C = C%A
<< =左移位赋值运算符C << = 2等价于C = C << 2
>> =右移位赋值运算符C >> = 2等价于C = C >> 2
&=按位与赋值运算符C&= 2等价于C = C&2
^ =按位异或赋值操作符C ^ = 2等价于C = C ^ 2
| =按位或赋值操作符C | = 2等价于C = C | 2
运算符优先级: 运算符也是有优先级的,也就是说,不同的运算碰到一起的时候,谁应该先运算呢?给大家一个口诀:赋值 < 逻辑 < 关系 < 运算 < 非

2017/8/25 11:14:56 @author:Cloudking
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐