变量,常量,数据类型和运算符

变量,常量,数据类型和运算符

变量

定义:

一个存储空间的表示,其值是可以变化的。(例如买了一双鞋,鞋盒用来孵小鸡,鞋盒就是变量,鞋子和小鸡是里面的值。)
在这里插入图片描述

使用步骤:

第一步:声明变量(声明变量的时候变量名不能重复)

即根据数据类型在内存申请空间

数据类型 变量名;int money;(int是数据类型,money是变量名)

第二步:赋值

即将数据存储在对应的内存空间

变量名=数值; money=1000;

上面两步可以合二为一

int money =1000; 其含义是:在内存中开辟了一个int类型的空间,给其命名为money,并为其赋值为1000;

第三步:使用

即取出数据

注意:

在声明变量的时候变量名不能重复

当在程序中使用“+”的时候,符号左右两侧如果有一个数据是字符串则将两个值拼接(如果后面有多个“+”则将多个值拼接),如果都是数值型则计算和

命名的规则:

1、以数字,字母,下划线和$符号组成,其中不能以数字开头

2、不能和java中的关键字重名

3、尽量遵守见名知意和驼峰命名(有多个单词首个单词首字母小写后面单词首字母大写)规则

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//1声明
		int money;
		
		//2赋值
		money=100;
		/**
		 * 第一第二两步合并
		 * 声明变量的时候变量名不能重复	
		 */
		int m = 100;
		
		String name="张三";
		int age =27;
		double score=89.0;
		//是否及格  使用 true :  及格     false:不及格
		boolean  flag =true;
		
		
		//3使用
		System.out.println("和"+age+score);
		System.out.println("金额::"+money);
		System.out.println("姓名:"+name);
		System.out.println("年龄:"+age);
		System.out.println("分数:"+score);
		
	}

常量

定义:

一个存储空间的表示,其值是不可以发生变化的。

final修饰常量,final修饰的值在声明的时候就赋值且后面不能改变(在数据类型前加final 如 final int)

优点:

一旦定义后期不能修改,所以其是相对安全的

命名规则:

常量名都要大写,如果是多个单词组成,则使用下划线分割

public static void main(String[] args) {
		// TODO Auto-generated method stub
/**
 * 常量的案列演示
 * 计算圆的面积
 */
		final   double       MY_PI =3.14;
		/*pi=3;*/
		double  r=2;
		double  area=MY_PI * r * r;
		System.out.println("面积是:"+area);
		
	}

数据类型

在这里插入图片描述

分类:

一、基本数据类型:

1、数值型
1)整型(可以存放整数):

byte(1个字节) - - - >Byte

short(2个字节) - - - >Short

int(4个字节) (默认使用) - - - >Integer

long(8个字节) - - - >Long

2)浮点型(表示小数):

float(4个字节) - - - >Float

double(8个字节) (默认使用) - - - >Double

2、非数值型
1)字符型—————需要给值加上单引号,只能存一个字符

char(2个字节):本质上是一个整数,是字符的Unicode码值 - - - >Character

2)布尔型————结果只有两种 true/false

boolean - - - >Boolean

二、引用数据类型:

1)String:可以存储多个字符使用双引号引起来
2)数组
3)枚举

运算符

分类:

赋值运算符:

赋值符号:=

将右边的值赋给左边的变量

算术运算符:

符号:+ - * / % ++ –

++放在变量前指先加1在使用;放在变量后指先使用在加1

–放在变量前指先减1在使用;放在变量后指先使用在减1

%指求余数

num+=2;(意思为num=num+2;)

 public static void main(String [] args){
	   //++ --
	   int a=4;
	   int b=2;
	   int c=5;
	   /*
	   System.out.println((a+b));
	   System.out.println((a-b));
	   System.out.println((a*b));
	   System.out.println((a/b));
	   System.out.println((a+b));
	   System.out.println((a+b));*/
	   
	   System.out.println(a++);//输出结果为4
	   
	   System.out.println(a);//输出结果为5
	   
	   System.out.println(++a);//输出结果为6
   
       System.out.println(c%b);//输出结果为1
	   
   } 
关系运算符:
运算符含义举例结果
==等于5==6false
!=不等于5!=6true
>大于5>6false
<小于5<6true
>=大于等于5>=6false
<=小于等于5<=6true
注意:

= 为赋值运算符,== 等于运算符

表达式返还给我们的结果类型都是boolean 类型

逻辑运算符:
运算符含义运算规则
&&短路与两个表达式结果都是true结果才是true
||短路或只要有一个为true 结果就为true
!取反将原来表达式结果取反
&无论A是否是真,它都会去判断B
|无论A是否是真,它都会去判断B
ABA&&BA||B
TTTT
TFFT
FTFT
FFFF

当 & 和 |作为二进制运算时

/*
&
运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。 比如:129&128。
129转换成二进制就是10000001,128转换成二进制就是10000000。 从高位开始比较得到,得到10000000,即128

|
运算规则:两个数都转为二进制,然后从高位开始比较,两个数只要有一个为1则为1,否则就为0。 比如:129|128。
129转换成二进制就是10000001,128转换成二进制就是10000000。从高位开始比较得到,得到10000001,即129.
*/

&& 一假必假

|| 一真必真

public static void main(String[] args) {
		// TODO Auto-generated method stub
      int a=4;
      int b=2;
      int c=5;
      
      //a>b为T,b>c为F 所以a>b||b>c为T;a<c为T所以整个表达式为T
      System.out.println(a>b   ||    b>c    &&    a<c);
	}

三目运算符(条件运算符):

语法:

boolean表达式? 表达式1:表达式2;

当boolean表达式的结果为true的时候 执行表达式1

当boolean表达式的结果为false的时候 执行表达式2

  int a=5;
  int b=10;
  int c= a>b?  0:1;
  System.out.println(c);//结果为1
  int a=5;
  int b=10;
  String c= a>b?  "正确":"错误";
  System.out.println(c);//结果为错误

返回值的数据类型需要和执行的表达式的数据类型一致

类型转换

自动类型转换

好比生活中有两个水杯,一个大的一个小的,如果将装满水的小杯中水倒入空的大杯,是可以的,类似于这样的场景在java中称之为自动类型转换

      double first=81.99;
      int duo=2;
      double  seconde=first+duo;

规则:

①在整个表达式中,如果有double数据类型的话,则整个表达式的结果会自动的提升为double类型

②在自动类型转换的表达式中数据类型需要兼容

​ 如:都是数值型

③目标类型要大于原类型

强制类型转换

好比生活中有两个水杯,一个大的一个小的,如果将装满水的大杯中水倒入空的小杯,是可以的但是会溢出,类似于这样的场景在java中称之为自强制类型转换

语法:

数据类型 变量名=(数据类型)(表达式);————是先运算表达式,然后将结果转换

如:int second=(int) (first+duo);

​ int second=(int) (first)+(int)(duo);————先将first转换为int类型在计算,最后将结果转换为int类型

缺点:丢失精度,慎用(double转int 丢失的是小数点后面的所有值不是四舍五入

     double  first=81.99;
     int  duo=2;
     int  second=(int) (first+duo);//结果是83

Scanner

作用:接收用户在键盘输入的值

使用步骤:
①导包

import java.util.Scanner; / import java.util.*; (java.util是包名 Scanner是类名,

如果用*则表示取java.util包下的所有类,两种方法都行)

②创建Scanner 对象

Scanner sc = new Scanner (System.in);

③使用 常用方法

接收int型 int age= sc.nextInt();

接收double型 double score=sc.nextDouble();

接收String类型 String name=sc.next();

注意

第二步中新建的Scanner中用的什么名(sc)第三步中就用什么名

由于工具的原因,在编写提示语的时候将ln去掉;如将System.out.println(“请输入年龄:”);的ln去掉即为System.out.print(“请输入年龄:”);

package cn.kgc.tx.ketang;

//1、导包
import java.util.Scanner;

public class Demo4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//2、创建Scanner  对象
     Scanner  sc = new Scanner (System.in);
     
     //3、使用
     System.out.print("请输入年龄:");
     int age=sc.nextInt();
     System.out.print("请输入姓名:");
     String name=sc.next();
     System.out.print("请输入分数:");
     double score=sc.nextDouble();
     System.out.print("年龄是:"+age+",姓名是:"+name+",分数是:"+score);
 
	}

}

包的使用

新建的包都使用小写字母组成,不能有中文或者特殊符号

新建的包使用公司域名去掉3w其他内容倒写,如 www.kgc.cn cn.kgc.公司定义

新建的每个类我们使用的每个单词的首字母大写

在每个类中都会有且只有一个 package+包的名字(且在代码的第一行)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值