Java se 的初步认识

目录

一、程序:

二、java语言

三、基本代码

四、DOS命令

五、数据类型

六、运算符

七、控制语句

八、数组、排序和查找 


一、程序:

        什么是程序:计算机执行某些操作或解决问题而编写的有序指令的集合。

二、java语言

1、Java语言的特性

        1)java语言是面向对象的

        2).java语言是健壮的(加法的强类型机制,垃圾自动回收处理)

        3)JAVA是解释型的

        解释型语言:编译后的代码不能直接被机器执行【Java;PHP】

        编译型语言:编译后的代码能直接被机器执行【C;C++】

2、Java运行机制

        1)具有指令疾病使用不同的存储区域负责执行指令数据管理,内存寄存器包含在jdk中

        2)对不同的平台有不同的JVM

        3)屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bey5p6B,size_20,color_FFFFFF,t_70,g_se,x_16

JVM(java虚拟机):对JAVA语言进行解释和执行

3、JDK——加法开发工具包

        JRE——java运行环境

                (jvm + Java的核心库)

        Java开发工具(在bin目录下面)

三、基本代码

1、main方法

 public class 类名(){
        main方法//main方法是程序执行的入口

}

2、转义字符

\t\n\\\"\ '\r
空格换行一个 \一个 "一个 '一个回车

2、基本注释

         1)单行注释 //

        2)多行注释  /**/

        3)文档注释——注释的内容可以被JDK提供的工具Javadoc所解析,生成一页网页文件或体现的该程序说明。

四、DOS命令

1、基本流程

        接受命令——解析命令——执行命令

2、相对路径和绝对路径

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bey5p6B,size_19,color_FFFFFF,t_70,g_se,x_16

         相对路径:从当前目录开始定位形成路径

                从text出发: ..\..\abc2\text2【..\可以返回上一级目录】

        绝对路径:从顶级目录开始定位形成路径

3、常用DOS命令

DIR显示当前目录的内容
cd切盘(切到C:或D:)
cd\切换到根目录
tree d:\abc查看D盘abc所有目录
cls清屏
exit退出DOS

4、变量

           变量是程序的基本组成单位

                【类型、名称、值】

变量表示内存中的一个存储区域(不同的变量,类型不同,占用的空间大小不同)

五、数据类型

数据类型基本——三类八种

整型intshortlongbyte(-128_127)
泛点/小数floatdouble
非数值charboolean

boolean类型——结果只能输出 TRUE或FALSE【一般用于逻辑运算】

char——字符编码表(分类)

        ASCII(一个字母用一个字符表示,共128个字符)——美国多用

        unicode 码(固定大小的编码,使用两个字节表示)——存储空间浪费

        UTF-8 (大小可变的编码,字母占用一个字节,汉字占用3个字节)——使用最多

        gbk (字母1个字节,汉字占用2个字节)

引用数据类型

  1.         类(class)——String
  2.        接口(interface)
  3.        数组([])

2、类型转换

    1) 自动类型转换——JAVA在进行赋值式精度小的会自动转化为精度大的类型

        watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bey5p6B,size_20,color_FFFFFF,t_70,g_se,x_16

         【short、byte 和 char 之间不会相互转换,但可相互运算,会自动转化为int】

 2)强制类型转换—

        将容量大的数据类型转换为容量小的数据类型,加上强制转换符()但可能造成精确度降低。

        强制转换符只对最近的数值有效(使用小括号提高优先等级)

3、基本数据类型和String形相互转换

        1)把基本数据类型转化成String

String  = 基本数据类型 + " ";

        【要确保String类型能转换成有效数据(字母转不成数据)】

         2         把字符串转化为字符

        调用基本数据类型相对的包装类的相应方法,得到基本数据类型

String a ="123";
Int num = Intager.parseInt.(a);
char num = char.parseChar.(a);

六、运算符

        运算符是一种特殊符号,用于表示数据的运算、赋值和比较。

1、算术运算符:

        对数值类型的变量进行运算,在java程序中使用最多

                【+;-;*;/;%(取余);++(自增);--(自减)】

         a%b = a - a/b *b;

        ++a: 先自增后赋值

        a++ :先赋值后自增

2、关系运算符/比较运算符

        关系运算符组成的表达式叫做关系表达式;

        关系运算符的结果都为Boolean类型——结果为TRUE或FALSE;【常用 if 或循环结构的条件中】

                【==;!=;<;>;<=;>=】

 3、逻辑运算符

        用于连接多个条件(关系表达式)

短路与 && :两个条件为真即为true,否则为false

逻辑与 & :两个条件为真即为true,否则为false

短路或 || :第一个条件为真,则结果为true。不执行条件2(效率高)

逻辑或 | :两个条件都执行,其中一个为真则为true(效率低)

异或 :一真一假结果为true,同真同假为false

4、赋值运算符

        将某个运算后的值赋给变量

byte b = 1;
b ++ ; // b= (byte)(b+1)
b += 2;  //b =(byte)(b+2
b = b+2;  //int b = b+2

5、三元运算符

//基本语法
 条件表达式 ? 表达式1:表达式2;

//等价于
if(){
    表达式1;
}else{
    表达式2;
}

如果运算结果为true,运算结果为表达式1;如果运算结果为flase,运算结果为表达式1。

七、控制语句

1、 流程控制——在程序中,程序运行的流程控制决定程序是如何执行的

2、顺序控制——程序从上到下术藏运行,中间无判断和跳转(先定义后执行)

3、分支控制——让程序有选择的执行

(1)if—else

//单分支
if(条件表达式){
    代码块(可执行多条语句);
}     //只有一条语句时{}可以省略


//双分支
if(条件表达式){
    代码块一;
}else{
    代码块二;
}



//多分支
if(条件表达式){
    代码块一;
}else if{
    代码块二;
}else if{
    代码块三;
} ...{
}else {
    代码块;
}

        嵌套分支【在一个分支结构中完整嵌套了另一个完整的分支结构,里面的分支称为内分支,外面的分支称为外分支】

if(条件表达式){
  if(条件表达式){
        //if-else
    }else{   
    }
}

(2)switch分支结构

seitch(条件表达式){
    case 1:
        语句1;
        break;
    case 2:
        语句2;
        break;
    case 3:
        语句3;
        break;
    ...
    default:    //都不匹配,默认值行default
        default语句块;
}

          表达式数据类型和case后的常量类型一致,或可相互比较或转化的类型

        表达式中的返回值必须为【byte , short , char , int , enum[枚举] , String】

        表达式中的值必须为常量

        case语句—子句中的值必须为常量而不是变量

【接收字符】

Scanner input = new Scanner(System.in);
char 变量名 = input.next().charAt(0);//这个0是指得到输入字符串中的第一个数

4、循环语句

(1)for循环

for(初始化变量;条件;迭代){
    循环操作;
}

循环条件返回的值必须为一个布尔表达式;

循环性初始值可以有多条初始化语句,但要求类型一样,且中间用逗号隔开

for(int 1 = 0,int j = 0;i <= 10; i++ , j++){
    System.out.println("i="+i+"+j=" +j);
}

(2)while循环

while(循环条件){
    循环体(语句); //while循环是先判断在执行
    迭代;
}

(3)do—while循环

do{
    循环体(语句1);//do-while是先执行再迭代
    迭代;
}while;

多重循环:将一个循环放在另一个循环体内,形成嵌套循环

        嵌套循环就是把内层循环当成外层循环的循环体,只有内层条件为false时,才会跳出内层循环,开始下一次循环。

//九九乘法表
public class nineNine {
	public static void main(String[] args) {
		for(int i =1;i<=9;i++){
			for(int j = 1;j<=i;j++){
				System.out.print(i+"*"+j+"="+(i*j)+"\t");
				
			}
			System.out.println();
		}
	}

随机生成——math.random

         返回的是0.0——1.0中随机一个数

5、跳转控制语句

(1)break【终止循环】

        break语句出现在各层嵌套语句块中时,可通过标签指明要终止的是那一层语句。

 (2)continue

        用于结束本次循环,继续下次循环

(3)return

        使用在方法中,表示跳出所在方法【用在main函数中则结束程序】

字符中equals的使用

" ".equals.(变量);

   八、数组、排序和查找 

    1、数组   

数组——可以存放多个同一类型的数据,数组是引用类型。

        数组可以通过for循环遍历

(1)数组定义

        基本数据类型[]  数组名 = new 数据类型[大小]

通过变量名的【下标】访问数组的元素,下标是从0开始编写的。

	double arr[] = new double[5];
	Scanner input = new Scanner(System.in);
	for(int i = 0;i< arr.length;i++ ){
	
		System.out.println("请输入第"+i+"个元素的值");
		arr[i] =input.nextDouble();
	}
	for(int i = 0; i < arr.length;i++){
		System.out.println(arr[i]);
		
	}

        先声明再分配

数据类型[] 数组名;
数组名 = new 数据类型[];

数组创建后,若没有赋值,则数组有默认值【boolea——false;String——null】

     (2)   数组的赋值机制——在默认条件下是引用传递,赋的值是地址


数据拷贝——复制一个arr1的空间【需要重新new一个】

int arr2[] =new int[arr1.length];

(3)数据反转

for(int i =0;i<arr.length/2;i++){
			int temp =arr[arr.length-i-1];
			arr[arr.length-i-1] =arr[i];
			arr[i]=temp;
		}
	
    //逆序反转
  for(int i=arr.length-1,int j =0;i>=0;i--,j++){
        arr[j] = arr[i];
  }
    arr = arr2;

(4) 数据添加

定义一个新数组        int[] arrNew =new int[arr,length+1];

再将arr元素拷贝到arrNew数组,在添加值

Scanner input = new Scanner(System.in);
do{
	double arrNew[] = new double[arr.length+1];
	    for(int i = 0;i< arr.length;i++ ){
				arrNew[i] = arr[i];
		}
			System.out.println("请输入添加的元素");
			int addNum = input.nextInt();
			arrNew[arrNew.length-1]=addNum;
			arr = arrNew;
		for(int i = 0; i < arr.length;i++){
				System.out.println(arr[i]);
		}
			System.out.println("是否继续添加?");
			char answer = input.next().charAt(0);
		if(answer == 'n'){
			break;	
		}
}while(true);

         数据缩减同理

(5)多维数组

二维数组:从定义形式上看 int [][]——二维数组的元素是一维数组

动态初始化

类型[][] 数组名 = new 类型[大小][大小];

//第二种
类型[][] 数组名;    //先声明
数组名 = new 类型[大小][大小];    //再定义

 列数不确定

int[][] arr = new int[3][];    //j是空的,还未开发数据空间
for(int i= 0;i<arr.length;i++){
			arr[i] = new int[i+1];    //给每个元素开辟空间
			for(int j= 0;i<arr[i].length;j++){
				arr[i][j] = i+1;
			}
		}

二维数组是由多个一维数组组成的,它的各个一维长度可以不同

        遍历二维数组

for(int i= 0;i<arr.length;i++){//遍历每个元素
			for(int j= 0;i<arr[i].length;j++){//遍历元素中的每个值
				System.out.println(arr[i][j]);
			}
		}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值