JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

简介: <h1 style="text-align:center">Java基础语法(变量、常量、数据类型、运算符与数据类型转换)</h1> <p><br></p> <h2>1、变量</h2> <p><br></p> <p>Java中,用户可以通过指定数据类型和标识符来声明变量,其基本语法为:</p> <p>DataType identifier; </p> <p>或 </p> <p

Java基础语法(变量、常量、数据类型、运算符与数据类型转换)


1、变量


Java中,用户可以通过指定数据类型和标识符来声明变量,其基本语法为:

DataType identifier; 

或 

DataType identifier = value;

其中,DataType是变量类型,如int/string/char/double/boolean等;identifier是变量名称,即标识符;value就是声明变量的值。

注:
a、标识符由数字0-9、大小写字母、下划线、美元符号、人民币符号以及所有在十六进制0xc0前的ASCII码组成;

b、类或结构中的变量,若没有显示地初始化,则默认初始值为0;方法中的变量必须显示地初始化,否则出错。

变量按照作用域的不同可以分为:类变量、局部变量、方法参数变量、异常处理参数变量

示例代码如下:

/********************************************************************************
 * "类变量"的使用方法示例代码*/

class ClassVariable {
	int price=100;	//定义类变量price
	String name;	//定义类变量name
	int num;		//定义类变量num
}

public class Grammar {
	public static void main(String[] args) {
		ClassVariable c = new ClassVariable();
		System.out.println("price="+c.price);
		System.out.println("name="+c.name);
		System.out.println("num="+c.num);
	}
}


/////////////////////////////////////
/*
 * "局部变量"的使用方法示例代码*/

 public class Grammar {
	 public static void main(String[] args) {
		int a=7;
		if (5>3) {
			int s=3;
			System.out.println("s="+s);
			System.out.println("a="+a);
		}
//		System.out.println("s="+s);
		System.out.println("a="+a);
	}
 }
 
 
/////////////////////////////////////

/*
 * "方法参数变量"的使用方法示例代码*/

public class Grammar {
	 public static void testFun(int s) {
		System.out.println("s="+s);
	}
	public static void main(String[] args) {
		testFun(100);
	}
 }
 

/////////////////////////////////////
/*
 * "异常处理参数变量"的使用方法示例代码*/

public class Grammar {
	public static void test() {
		try{
			System.out.println("Hello! Exception!");
		}
		catch (Exception e){	//异常处理块,参数为Exception类型
			e.printStackTrace();
		}
	}
	public static void main(String [] args) {
		test();
	}
}


2、常量


在C/C++中,要以const关键字定义一个常量,而在JAVA中const不是关键字符,而是一个保留字符,它使用final关键字来定义一个常量,其语法如下:

final dataType constantName;

其中,final是定义常量的关键字,dataType是指明常量的数据类型,constantName是常量的名称。

注:

a、在定义常量时需要对其进行初始化;

b、final不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。

c、在JAVA语言中,为了与变量区别,常量一般都采用大写字符。

示例代码如下:

/********************************************************************************
 * "常量"的使用方法示例代码*/

public class Grammar {
	public static void main(String [] args) {
		final double PI=3.1415926;
		int r=10;
		double c=2*PI*r;
		System.out.println("圆的周长="+c);
//		PI=10;
	}
}


3、数据类型


JAVA语言的数据类型主要分为两大类:基本数据类型(字节型byte、字符型char、布尔型boolean、单精度浮点型float、双精度浮点型double、整型int、短整型short、长整型long)和引用数据类型(数组、类class、接口interface)。

具体如下图:



注:

a、所有的基本数据类型的大小都已经明确规定好,在各种不同的平台上都保持不变,这一特点有助于提高JAVA程序的移植性;

b、引用数据类型是由用户自定义的,用于限制其他数据的类型,JAVA语言中不支持C++中的指针类型、结构类型、联合类型和枚举类型

c、对于浮点型数据来说,默认是double,若想被看做float,则需要在数据后面加上f或F;

d、Java语言中的字符类型使用两个字节的Unicode编码表示,字符通常用十六进制表示,范围从\u0000到\uFFFF,即0到65535。


示例代码如下:

/********************************************************************************
 * "整数类型"的使用方法示例代码*/

public class Grammar {
	public static void main(String [] args) {
		byte a=10;
		short b=20;
		int c=30;
		long d=40;
		long sum=a+b+c+d;
		System.out.println("10+20+30+40="+sum);
	}
}


/*
 * "浮点类型"的使用方法示例代码*/

public class Grammar {
	public static void main(String [] args) {
		double x=10.23;
		int a=2;
		float sum=(float)x*a;
		System.out.println("sum="+sum);
	}
}


/*
 * "布尔类型"的使用方法示例代码*/

public class Grammar {
	public static void main(String [] args) {
		boolean a=true;	
		System.out.println("a="+a);
	}
}


/*
 * "字符类型"的使用方法示例代码*/

public class Grammar {
	public static void main(String [] args) {
		char a='A';
		char b='B';		
		System.out.println("a+b="+(a+b));
	}
}


4、运算符


运算符包括算术运算符、比较运算符、逻辑运算符、赋值运算符、条件运算符、自增自减运算符、位运算符,还要考虑到运算符的优先级别。

注:

a、自增自减运算符,例如i++和++i,其规则是谁在前先算谁;

b、在位运算符中,按位异或的运算符是^,这一点要特别注意;

示例代码如下:

/********************************************************************************
 * "算术运算符"的使用方法示例代码*/

import java.util.Scanner;	//	代码输入Scanner后,系统会自动加入这段代码
public class Grammar {
	public static void main(String [] args) {
		Scanner input= new Scanner(System.in);	//系统输入
		System.out.println("请输入第一个数:");
		int num1=input.nextInt();
		System.out.println("请输入第二个数:");
		int num2=input.nextInt();
		float add=num1+num2;
		float sub=num1-num2;
		float multi=num1*num2;
		int div=num1/num2;
		float rem=num1%num2;
		System.out.println("add="+add+", sub="+sub+", multi="+multi+", div="+div+", rem="+rem);
		
	}
}


/*
 * "优先级"的使用方法示例代码*/

public class Grammar {
	public static void main(String [] args) {
		int a=10;
		int b=5;
		int c=12;
		int result=a+b-(a++)*(b--)%c;
		System.out.println("result="+result);
	}
}


5、数据类型转换


数据类型转换分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。

自动类型转换的实现需要同时满足两个条件:一是两种数据类型彼此兼容,第二个是目标类型的取值范围要大于源数据类型,即低级数据类型转换为高级类型数据。

转换规则如下:

(1)、数值型数据的转换:byte->short->int->long->float->double;

(2)、字符型转换为整型:char->int。

以上数据类型的转换遵循从左到右的转换顺序,最终转换成表达式中表示范围最大的变量的数据类型。

显示转换:当两种数据类型不兼容或类型的取值小于源类型时,自动转换无法进行,这时就需要进行强制类型转换。


6、实例演示——把整数转换为二进制数


参考代码如下:

/********************************************************************************
 * "实战——把整数转换为二进制"——难度系数:*/

public class Grammar {	//第一步:定义一个类
	static String ConvertIntToBinary(int n)	//第二步:定义一个方法
	{
		String binary="";	//保存二进制字符串
		int i=n;	//声明i变量,将参数n的值赋予它
		int m=0;	//声明初始化变量m
		while (i>1)
		{
			i=n/2;
			m=n%2;
			binary =Integer.toString(m)+binary;	//添加到binary字符串中
			n=i;
		}
		if (i>0) binary="1"+binary;
		return binary;
	}
	public static void main(String [] args) {
		System.out.println("14转换为二进制为:"+ConvertIntToBinary(14));
		System.out.println("15转换为二进制为:"+ConvertIntToBinary(15));
	}
}





目录
相关文章
|
19天前
|
存储 传感器 缓存
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
49 15
|
19天前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
|
19天前
|
Java
课时13:Java数据类型划分(布尔型)
观察布尔型的操作。布尔是一位数学家的名字,这个布尔发明了两个单词:True、False(一个表示真一个表示假)。一般布尔类型都只表示逻辑的计算结果。
|
18天前
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
29 6
|
19天前
|
Java
课时15:Java运算符(基础数学运算符)
课时15介绍了Java中的基础数学运算符,涵盖加、减、乘、除及自增自减运算。强调了运算符的优先级和使用括号的重要性,并通过范例展示了四则运算与自增自减的具体应用。提醒编写代码时应保持简洁,避免复杂的表达式,确保代码易读性和可维护性。
|
19天前
|
Java
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
|
19天前
|
Java
课时16:Java运算符(三目运算符)
范例:将两个变量值在大的内容赋值给新变量。三目是一种赋值运算,它指的是根据条件来进行判断。(根据判断的结果来决定赋值内容)对于三目运算的基本使用语法如下: 数据类型 变量 = 布尔表达式 ?条件满足时赋值内容:条件不满足时:赋值内容
|
19天前
|
Java 程序员 数据处理
课时19:Java运算符(位运算符)
课时19介绍Java中的位运算符,涵盖进制转换、位与、位或及移位操作。重点讲解了二进制与其他进制的转换方法,通过具体范例演示了位与和位或运算的过程,并展示了八进制和十六进制的处理方式。此外,还解释了逻辑运算符(&&、||)与位运算符(&、|)的区别及其应用场景,特别是位运算在加密中的应用。
|
19天前
|
Java
课时18:Java运算符(逻辑运算符)
课时18介绍了Java中的逻辑运算符(与、或、非)。通过范例详细讲解了非操作的使用,展示了如何正确应用逻辑非(!)。接着分别探讨了与操作(& 和 &&)及或操作(| 和 ||),强调了短路运算符(&& 和 ||)在性能和安全性上的优势。课程通过具体代码示例演示了不同逻辑运算符的效果及其应用场景。
|
27天前
|
存储 监控 Java
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
157 60
【Java并发】【线程池】带你从0-1入门线程池