欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java入门基础语法学习(语句、数组、方法、题解)

程序员文章站 2022-04-15 17:46:27
(一)语句语句(程序流程空控制)顺序(从上到下依次执行)选择(if,switch)循环(for,while)选择if:格式1:if(关系表达式){语句1}注意:{}表示语句的执行范围,{}可以省略不写,不写时会把,if下面的一行代码当做语句体格式2:if(关系表达式){语句1}else{语句2}格式3:if(关系表达式1){语句1}else if(关系表达式2){语句2}...els...

(一)语句

语句(程序流程空控制)
顺序(从上到下依次执行)
选择(if,switch)
循环(for,while)

选择if: 格式1:if(关系表达式){ 语句1 } 注意:{}表示语句的执行范围,{}可以省略不写,不写时会把,if下面的一行代码当做语句体
		格式2:if(关系表达式){ 语句1 }else{ 语句2 } 格式3:if(关系表达式1){ 语句1 }else if(关系表达式2){ 语句2 }...else{ 语句n } 注意:else可以忽略不写 
switch:专门用于做等值判断
			格式:switch(表达式){ case1: 语句 break; case2: 语句 break; . . . default: 语句 break; } 注意:值不能相同,default可以不写,default中的break也可以不写 case判断成立,而没有break,会向下继续执行(但是不会再次执行case),直到遇到break或执行结束 
循环 while: 格式:完整语句格式: * 初始化语句 * while(条件表达式){ * 循环语句; * 条件控制语句; * } * 初始化语句(定义变量):循环结构什么时候开始,也用于记录循环次数(一条或多条) * 条件判断语句:决定了循环什么时候结束(结果为boolean的表达式) * 循环语句:循环结构中反复执行的事情(任意语句) * 条件控制语句:通过改变变量的值来控制循环次数(常见操作i++,i--) 例如:循环输出5次HelloWorld int i=1; while(i<=5){ System.out.println("HelloWorld"); i++; } do_while
			完整格式:初始化语句 do{ 语句体
					 	条件控制 }while(关系表达式); 注意:do-while 无论关系表达式结果是true还是false 都会首先执行一次 for: 格式: for(初始化语句;条件判断语句;条件控制语句){ 循环体; } 例如:for(int i=1;i<=5;i++){ System.out.println("HelloWorld"); } 死循环的写法: 1.while(true){} 2.do{}while(true) 3.for(;;){} 嵌套语句: 语句之中还有语句
			如何保证一个语句的完整,通过{}实现,{}表示了当前语句的完整执行 for循环嵌套
			练习:直角在右上方的 99乘法表
				 菱形
		流程控制语句:break(结束)continue(跳出) break:表示结束当前语句 continue:跳出当前执行的某次循环,然后执行下一次 

(二)随机数Random

随机产生一个数字
使用方式类似于Scanner
1.导包
import java.util.Random
导包代码必须出现在类定义之外
2.创建对象
Random r=new Random();
只有r是变量名称可以发生改变,别的不允许改变
3.接收数据
int i =r.nextInt(10);//随机数产生的范围 0~10 包括0不包括10
只有变量名i可以发生改变,r是第二步中的变量名,别的不允许改变

(三)数组

存储多个相同数据类型的数据,数组长度不可变

定义格式1:数据类型[] 变量名; 定义格式2:数据类型 变量名[]; 动态初始化:只指定长度大小,有系统分配默认值
	格式:数据类型[] 变量名=new 数据类型[长度大小]; 例如:int[] arr=new int[5]; 静态初始化时指定每个数组元素的初始值,由系统决定数组长度
    格式:数据类型[] 变量名=new 数据类型[]{数据1,数据2...数据n}; 例如: int[] arr=new int[]{1,2,3,4,5}; 可以简化为:数据类型[] 变量名={数据1,数据2...数据n}; 注意:简化写法中使用的是大括号
 	例如: int[] arr={1,2,3,4,5,6,7,8,9,10}; 注意:int默认值为0 double默认值为0.0 String默认值为null

索引(下标):数组中元素排列的方式 1.索引从0开始 2.连续的 3.每次加1 元素访问: 1.访问数组 2.访问数组中索引
	格式:数组的名称[索引] 数组常见问题: 1.下标越界 2.空指针异常 

(四)java内存空间栈和堆

数组:int[] arr=new int[10];
new int[10]在堆中开辟大小为10的空间,然后生成一个地址值来标识当前开辟空间的所在位置,把这个地址值赋值给栈中的int[] arr。

(五)方法/函数

把一些代码块(代码结合体)进行封装,可以方便的进行多次使用
	方法定义格式:public static void 方法名称(){ 封装的代码 } 注意:方法定义在main方法之外
	方法调用格式:方法名称(); 注意:方法调用在main方法和其他方法之中
	参数: 单个参数
			格式:public static void 方法名称(数据类型 变量名){ 封装的代码 } 多个参数: 格式:public static void 方法名称(数据类型1 变量名1,数据类型2 变量名2...){ 封装的代码 } 有参方法的调用:方法名称(参数) 注意:1.调用时,实参可以给一个表达式或具体值, 2.实参的数据类型要个方法定义中形参的数据类型保持一致 3.调用时,所给的实参个数要和定义时的形参个数保持一致 4.方法调用时给的实参名称,不会影响方法定义上的形参名称 

(六)形参和实参

形参和实参:
形参:形式是的参数,没有具体的值,在方法定义之上
实参:具体的值,实际存在的值或变量,在方法调用之上

习题:

一、填空题
1.Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是 数字 。
2.Java中整型变量有byte、short、int和long四种,不同类型的整数变量在内存中分配的字节数不同,数值范围也不同。对于int型变量,内存分配 4 个字节。
3.在Java中浮点型变量有float和double两种,对于float型变量,内存分配4个字节,尾数可精确到7位有效数字,对于double型变量,内存分配 8 个字节。
4.char c=’a’;System.out.println(c+1);运行结果为: 98 。
5.__&&__是短路与运算符,如果左侧表达式的计算结果是false,右侧表达式将不再进行计算。

6.下面的语句是声明一个变量并赋值:boolean b1=5!=8; b1的值是__true_____。
7.使用位运算符来实现运算效率最高,所以最有效率的方法算出2乘以8等于多少的语句是 2<<3 。
8.基本数据类型的类型转换中,要将double类型的常量3.14159赋给为整数类型变量n的语句是_
n=(int)3.14159;__________。

9.八进制整数012表示十进制的___10___,十六进制数0x3C表示十进制的___60__。
10.一个十进制整数转换成八进制数后是1234,则它转为十六进制数后是 29C 。
1234—>001010011100(二进制)
二、选择题

  1. 在Java中,以下错误的变量名是( D )。(选择一项)

    A constant
    B. flag
    C. a_b
    D. final

  2. 以下选项中属于合法的Java标识符的是( cd )。(选择两项)

    A. public
    B. 3num
    C. name
    D. _age

  3. 在Java中,byte数据类型的取值范围是( A )。(选择一项)

    A -128 ~ 127
    B. -228 ~128
    C. -255 ~ 256
    D. -255 ~ 255

  4. 下面的代码段中,执行之后i和j的值是( C )。(选择一项)
    int i=1; int j;
    j=i++;

    A 1,1
    B. 1,2
    C. 2,1
    D. 2,2

  5. 下面Java代码的执行结果是( A )。(选择一项)
    public class Test {
    public static void main(String args[]) {
    System.out.println(100 % 3);
    System.out.println(100%3.0);
    }
    }

    A 1 1.0
    B. 1 1
    C. 1.0 1.0
    D. 33 33.3

  6. 下面的赋值语句中错误的是( A )。(选择一项)

    A float f = 11.1;
    B. double d = 5.3E12;
    C. double d = 3.14159;
    D. double d = 3.14D;

1.float的精度是保证至少7位有效数字是准确的
2.float的取值范围 [-3.4028235E38, 3.4028235E38],

  1. 在Java中,下面( BA)语句能正确通过编译。(选择两项)

    A System.out.println(1+1);
    B. char i =2+‘2’;
    System.out.println(i);
    C. String s=“on”+‘one’;
    D. int b=255.0;

  2. 以下Java运算符中优先级别最低的两个选项是( AB )。(选择二项)

    A 赋值运算符=
    B. 条件运算符 ?=
    C. 逻辑运算符|
    D. 算术运算符+

  3. 有以下方法的定义,请选择该方法的返回类型( D )。(选择一项)
    method(byte x, double y) {
    return (short)x/y*2;
    }

    A byte
    B. short
    C. int
    D. double

  4. 关于以下Java程序中错误行的说明正确的是( B )。(选择一项)

public class Test2 { public static void main(String[] args) { short s1=1; //1 s1=s1+1; //2 s1+=1; //3 System.out.println(s1); } } 

A 1行错误
B. 2行错误
C. 3行错误
D. 1行,2行,3行都错误
三、判断题
1.Java中变量名不区分大小写,number和NuMbEr代表同一个变量。( X )
2.在编译Java源程序时,计算机根本不会去识别各个变量名的具体含义,因此命名规范对编写Java程序而言不是必要的,而且有可能会降低编写Java源程序的效率。(X )
3.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。( T )
4.char类型变量可以存储一个Unicode字符,在内存中占2个字节,该字符可以是一个汉字。( T )
5.运算符||和&&既是逻辑运算符,也是位运算符。根据两侧操作数的类型判断是逻辑运算符还是位运算符。( X )
6.^ 是异或位运算符,运算规则是如果两个操作数相同,结果是0,否则结果是1。( T )
7.赋值运算符优先级别低于条件运算符,条件运算符优先级别低于算术运算符。( T )
8.赋值和条件运算符是运算级别最低的两种运算符,都具有自右向左的结合性。( T )
9.整型常量的默认类型是int类型,浮点常量的默认类型是float类型。( X )
小数属于浮点型(默认为double)
10.00101010 & 00010111语句的执行结果为00111111( X )
四、简答题
1.Java是一种强类型语言,说明Java的数据类型分类。
答:基本数据类型:数值型<整数类型:byte、short、int、long,浮点类型:float、double,字符型(char),布尔型(boolean);引用数据类型:类(class),接口(interface),数组
2.i++和++i的异同之处
答:i++,先进行运算再自增;++i先自增再进行运算,都是加一。
3.运算符||和|的异同之处
答:||左边的表达式为真时,右边的表达式不用进行计算了;|需要考虑俩边的表达式。
4.Java中基本数据类型转换的规则
答:(1)布尔型和其它基本数据类型之间不能相互转换;(2)byte型可以转换为short、 int、long、float和double; (3)short可转换为int、long、float和double; (4)char可转换为int、long、float和double; (5)int可转换为long、float和double; (6)long可转换为float和double; (7)float可转换为double.
五、编码题
1.输入圆形半径,求圆形的周长和圆形的面积,并将结果输出

import java.util.Scanner; public class TestCircle { public static void main(String[] args) { // 定义圆周率 final double PI = 3.14; Scanner input = new Scanner(System.in); // 输入半径 System.out.println("请输入圆的半径:"); // 计算周长和面积 float r = input.nextFloat(); double c = 2 * PI * r; double s = PI * r * r; // 输出周长和面积 System.out.println("该圆的半径为:R=" + r); System.out.println("该圆的周长为:C=" + 2 + "*" + PI + "*" + r + "=" + c); System.out.println("该圆的面积为:S=" + PI + "*" + r + "*" + r + "=" + s); } } 

2.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。结果如图所示。
java入门基础语法学习(语句、数组、方法、题解)

public class TestEncryption { public static void main(String[] args) { //输入一个4位整数 Scanner s = new Scanner(System.in); System.out.print("请输入一个4位正整数:"); int num = s.nextInt(); //获取各个位上的数 int bit4 = (num / 1000); // 取千位的数字 int bit3 = (num / 100) % 10; // 取百位的数字 int bit2 = (num / 10) % 10; // 取十位的数字 int bit1 = num % 10; // 取个位的数字 //每位数字加5  bit4 = (bit4+5)%10; bit3 = (bit3+5)%10; bit2 = (bit2+5)%10; bit1 = (bit1+5)%10; //交换第一位和第四位 int temp; temp = bit4; bit4 = bit1; bit1 = temp; //交换第二位和第三位 temp = bit2; bit2 = bit3; bit3 = temp; // 输出加密后数字  //System.out.println("加密后的数字为:"+bit4+bit3+bit2+bit1); int ennum = bit4*1000+bit3*100+bit2*10+bit1; System.out.println("加密后的数字为:"+ennum); } } 

本文地址:https://blog.csdn.net/qq_45798550/article/details/107894824