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

本文介绍了Java的基础知识,包括JDK的安装与环境变量配置,第一个Java程序的编写,变量与数据类型的声明和使用,以及输出输入和运算符的介绍。通过实例展示了如何在DOS环境中运行Java程序,强调了变量命名的规范,并解释了各种数据类型和运算符的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


@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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值