java语言 scanner_对Java中变量、常量、运算符以及Scanner对象的学习

用IDEA学习java第二天

变量

变量的定义

变量就是一个可以变化的量

java是一种强类型语言,每一个变量都必须声明自己的类型

Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型、作用域等。

数据类型 变量名=值

int a=5;

注意事项

每个变量都有类型,类型可以是基本类型也可以是引用类型。

变量名必须是合法的标识符。

变量声明是一个完整的语句,因此每一个变量声明都必须以分号结尾。

变量作用域

类变量

实例变量

局部变量

public class Demo04 {

//静态变量从属于类,类变量

static int money=3000;

//实例变量,从属于对象,需要通过类来new一个新的对象来调用

//布尔值默认是false

//除了基本类型,其他默认值都是null

String name;

int age;

public static void main(String[] args) {

//局部变量 必须声明和初始化值

int i=1;

System.out.println(i);

//变量类型 变量名字=new Demo04();

Demo04 demo04=new Demo04();

System.out.println(demo04.name);

System.out.println(demo04.age);

//静态变量,类变量

System.out.println(money);

}

public void add(){

}

}

常量

常量的定义

初始化之后不会再改变的值,不会变动的值。

所谓常量可以被理解成一种特殊的变量,他的值被设定以后,在程序运行过程中不允许被改变。

final 数据类型 常量名=值

final double PI=3.14;

注意

常量的变量名要使用大写字母

变量的命名规范

所有变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:mothSalary ;除了第一个单词外,后面单词的首字母都大写:lastName

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线:MAX_VALUE

类名:首字母大写和驼峰原则Man,GoodMan

方法名:首字母小写和驼峰原则:run(),runRun()

运算符

java语言支持如下运算符

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

赋值运算符:=

关系运算符:>,=,<=,==,!= instanceof

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

自减自增运算符以及初始Math

package operator;

public class Demo04{

public static void mian(String[] args){

int a=3;

int b=a++; //执行这行代码后,先给b赋值,再自增

//a=a+1

System.out.println(a);

//a=a+1

c=++a; //执行这行代码之前,先自增,再给C赋值

System.out.println(a);

System.out.println(b);

System.out.println(c);

//幂运算

Math.pow(2,3); //二的三次方

}

}

逻辑运算符

&&,||,!

package com.zjl.operator;

public class Demo05{

public static void main(String[] args){

//&&(且) ||(或) !(非)

boolean A=true;

boolean B=false;

System.out.println("A&&B:"+(A&&B));//逻辑与运算:两个变量同时为真才为真

System.out.println("A||B:"+(A||B));//逻辑或运算:两个变量中有一个为真则为真,两个变量同时为假才为假

System.out.println("!(A&&B):"+!(A&&B));//如果是假则为真,如果为真则为假

//短路运算

int c=5;

boolean d=(c<4)&&(c++<4);

System.out.println(d);

System.out.println(c);

}

}

位运算符

&,|,^,~,>>,<>>(了解即可)

条件运算符

?:

package com.zjl.operator;

public class Demo06{

public static void main(String[] args){

int a=10;

int b=20;

a+=b;

//a-=b

System.out.println(a);

//由于前面有字符串连接符,所以将后面的变量运算按照字符串结合

System.out.println(""+a+b);//输出结果为1020

System.out.println(a+b+"");//输出结果为30

}

}

package com.zjl.operator;

//三元运算符

public class Demo07{

//x?y:z

//如果x==true,则结果为y,否则结果为z

public static void main(String[] args){

int score=80;

String type=score>=60?"考试及格":"考试不及格";

System.out.println(type);

}

}

优先级

package com.zjl.operator;

public class Demo08 {

public static void main(String[] args) {

int a=5;

int b=8;

int c=70;

int d=2;

System.out.println((a+d)*b+c);

}

}

Java Doc

javadoc命令是用来生成自己API文档的

参数信息

@author 作者名

@version 版本号

@since 指明需要最早使用的jdk版本

@param 参数名

@return 返回值情况

@throws 异常抛出情况

Scanner对象

我们可以通过Scanner类来获取用户的输入

基本语法

Scanner s =new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

package com.zjl.base.scanner;

import java.util.Scanner;

public class Demo01{

public static void main(String[] args){

Scanner s=new Scanner(System.in);

System.out.println("使用next的方式接收");

//判断用户是否输入字符串

if(s.hasNext()){

String str=s.next();

System.out.println("输出的内容为:"+str);

}

//凡是属于IO流的类如果不关闭会一直占用资源,所以要养成关闭流的好习惯

s.close();

}

}

package com.zjl.base.scanner;

import java.util.Scanner;

public class Demo02{

public static void main(String[] args){

//接收用户输入

Scanner s=new Scanner(System.in);

System.out.println("使用nextLine的方式接收");

//判断用户是否输入

if(s.hasNextLine()){

String str=s.nextLine();

System.out.println("输出的内容为:"+str);

}

s.close();

}

}

next()和nextLine()的区别

next():

一定要读到有效字符后才可以结束输入。

对输入有效字符之前遇到的空白,next()方法会自动将其去掉

只有输入有效字符后才能将其后面输入的空白作为分隔符或结束符。

next()不能得到带有空格的字符串。

nextLine()

以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前所有字符。

可以获得空白。

Scanner进阶使用

package com.zjl.base.scanner;

import java.util.Scanner;

public class Demo03{

public static void main(String[] args){

//接受用户输入

Scanner s=new Scanner(System.in);

int i=0;

float f=0.0f;

System.out.println("请输入整数:");

if(s.hasNextInt()){

i=s.nextInt();

System.out.println("你输入的是整数"+i);

System.out.println("请输入小数");

}else{

System.out.println("你输入的不是整数");

}

if(s.hasNextFloat()){

f=s.nextFloat();

System.out.println("你输入的是小数"+f);

}else{

System.out.println("你输入的不是小数");

}

s.close();

}

}

Scanner小练习

问题:我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果。

package com.zjl.base.scanner;

import java.util.Scanner;

/*我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果*/

public class Demo04 {

public static void main(String[] args) {

Scanner s=new Scanner(System.in);

int m=0;

double sum=0;

double a=0;

while (s.hasNextDouble()){

a=s.nextDouble();

m++;

sum=sum+a;

}

System.out.println("sum="+sum);

System.out.println("avg="+sum/m);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值