基本语法练习题

目录

一、Java语言概述

二、基本语法

1.关键字与标识符

          2.变量的使用

 3.运算符


一、Java语言概述

1.JDK,JRE,JVM三者之间的关系,以及JDK,JRE包含的主要结构有哪些?
JDK包含JRE包含JVM
JDK=JRE+Java的开发工具(java.exe,java.exe,javadoc.exe)
JRE=JVM+java核心类库

2.为什么配置path环境变量?如何配置
为了在任何的文件路径下都能执行Java的开发工具和Java指令

建立一个JAVA_HOME的变量,变量里面存储bin的上一层目录:JAVA_HOME=bin的上一层目录
path里面动态调用JAVA_HOME:path=%JAVA_HOME%\bin

3.常用的几个命令操作都有哪些?(至少四个)
cd
md:创建文件目录
rd:删除目录
del:删除文件
cd..
cd/
4如何创建如下的类,使得运行的话可以输出:
姓名:*****

性别:男
家庭住址:****
创建一个.java文件:First.java
public class First{
    
    public static void main(String[] args){
        System.out.println("姓名:*****");//“”之内写字符串
        System.out.println();
        System.out.println("性别:男");
        System.out.println("家庭住址:****\n");
}
}

5.编译和运行上述代码的指令
编译:javac First.java
运行:java First

二、基本语法

1.关键字与标识符

  1. 标识符的命名规则有哪些? -->不遵守,编译不通过。

Ø26个英文字母大小写,0-9 _$ 组成

Ø数字不可以开头。

Ø不可以使用关键字和保留字,但能包含关键字和保留字。

ØJava中严格区分大小写,长度无限制。

Ø标识符不能包含空格。

2. 标识符的命名规范有哪些?-->不遵守,编译运行都可以通过

包名:xxxyyyzzz

类名、接口名:XxxYyyZzz

变量名、方法名:xxxYyyZzz

常量名:XXX_YYY_ZZZ

2.变量的使用

1. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小

Byte short int long

byte(1字节=8bit)\short(2字节)\int(4字节)\long(8字节)

Char 2字节

Float4个 double8个

Boolean 

引用数据类型:类、接口、数组

2. 说明基本数据类型变量之间自动类型提升的运算规则。

byte、short、char -àint àlong àfloat àdouble

3. 说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。

容量大 ->容量小

使用强转符:()

精度损失。

4.判断下列是否正确: 

String str1 = 4; //判断对错:no         原因:String str1="4";

String str2 = 3.5f + “”; // 判断 str2 对错: yes
System.out.println(str2); // 输出: ”3.5”
System.out .println(3+4+“Hello!”); // 输出: 7Hello!
System.out.println(“Hello!”+3+4); // 输出: Hello!34
System.out.println(‘a’+1+“Hello!”); // 输出: 98Hello!
System.out.println(“Hello”+‘a’+1); // 输出: Helloa1
5.示 例 —StringTest
public class StringTest {
     public static void main(String[] args) {
         int no = 10;
         String str = "abcdef";
         String str1 = str + "xyz" + no;
 
         str1 = str1 + "123";
         char c = '国';
 
         double pi = 3.1416;
         str1 = str1 + pi;
         boolean b = false;
         str1 = str1 + b;
         str1 = str1 + c;
 
         System.out.println("str1 = " + str1);//str1 = abcdefxyz101233.1416false国
     }
 }

6.判断是否能通过编译

 

运算时自动类型提升,故1),4)错误

   3.运算符

1.算术运算符:自加、自减

/*
练习题1.:
输出i=10 i1=11
	1=12 i1=12
	i=20 i2=19
	i=18 i2=18

*/
class SignTest{
	public static void main(String[] args){
		int i1 = 10;
		int i2 = 20;
		int i = i1++;
		System.out.print("i="+i);
		System.out.println("i1="+i1);
		
		i = ++i1;
		System.out.print("i="+i);
		System.out.println("i1="+i1);

		i = i2--;
		System.out.print("i="+i);
		System.out.println("i2="+i2);

		i = --i2;
		System.out.print("i="+i);
		System.out.println("i2="+i2);
	} 
}

2.练习2
随意给出一个整数,打印显示它的个位数,十位数,百位数的值。
格式如下:
数字xxx的情况如下:
个位数:
十位数:
百位数:
例如:
数字153的情况如下:
个位数:3
十位数:5
百位数:1

 

   System.out.println("----------练习2-----------------");
       int num=153;
	   int hundreds=num/100;
	   int tens=num%100/10;
	   int ones=num%10;
        /*
       int hundreds=num/100;
	   int tens=num/10%10;
	   int ones=num%10; 
            */
	   System.out.println("个位数是:"+num%10);//String类型进行连接运算时,遵循基本运算法则
	   System.out.println("十位数是:"+tens);
	   System.out.println("百位数是:"+hundreds);

3.如何判断奇偶性

 System.out.println("--------如何判断寄偶性----------");
	   if(num%2==0){
		   System.out.println("是偶数");
	   }if(num%2==1){
		   System.out.println("是奇数");
	   }
	   System.out.println("---------------------------------");

4.赋值运算符

​​​​/*----------------练习------------------------*/
		System.out.println("----------练习----------------");
        /*
            思考一:①自动类型转换,编译错误
                   ②不会改变变量的数据类型
        */
        //思考二
		int i = 1;
		i *= 0.1;//不改变变量本身的数据类型
		System.out.println(i);//0
		i++;
		System.out.println(i);//1
		//思考三
		int m = 2;
		int n = 3;
		n *= m++; //n=n*m++
		System.out.println("m=" + m);//3
		System.out.println("n=" + n);//6
		
        
		/*
            思考四
			int n=10;n+=(n++)+(++n)结果是多少?
		   n+=(n++)+(++n)--->n=n+(n++)+(++n)--->10+10+12
			n+(n++)-->10+10,n++,n由10自+1变为11
			(++n),n变为了11,(++n)为12
			若,直接输出n +=n++,n=20,n+n=20运算结束将值赋值给n,n++=11不会再进行赋值;
			若,n+(n++)+(++n),在运算n+(n++)时,运算没有结束,n++进行运算将值赋给n;
			n += (n++) + (++n)相当于:
						int n1=n+n;//先运算
						n++;//在自增1
						++n;//先自增1
						n=n1+n;//在运算
			
		*/
		int n1 = 10;
		n1 += (n1++) + (++n1);//n=n+(n++)+(++n)--->10+10+12
	    /*int n2=n1+n1;
		n1++;
		++n1;
		n1=n2+n1;
		*/
		System.out.println(n1);//32

5.写出下列的运行结果:

6.【面试题】程序输出:

System.out.println("-------------练习题:z= ----------------");
		boolean x=true;
		boolean y=false;
		short z=42;
		//if(y == true)
		if((z++==42)&&(y=true))z++;//y=true为赋值运算,y的值变为true;区分“==”与“=”
		if((x=false) || (++z==45)) z++;

		System.out.println("z="+z);//46

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值