JAVA语言基础

一、本章内容
1、JAVA数据类型
2、JAVA运算符
3、JAVA中的数组
4、JAVA中命令行参数


(一)、JAVA数据类型
1、数据类型分类
A、原始数据类型:(基本数据类型)
一次存储一个值,是JAVA中最简单的数据形式。
八种数据类型
boolean、byte、short、int、long、float、double、char


例:以下是给各个数据类型赋值
byte numByte=76;
short numShort=76;
int numInt=76;
long numLong=76;
float numFloat=76f; //在给浮点型的数据赋值时,要加上f,不加时,会加会认为是double类型
double numDouble=76;
char numChar='A';
boolean numB=true;
B、引用数据类型
数组:具有相同类型的变量的集合
类:变量和方法的集合
接口:一个抽象类
2、变量
JAVA中的所有变量都必须声明才能使用。
变量名必须字母、下划线或“$”符号开头。后面可以跟随任意数量的字母、数字、下划线、“$”。
规范命名:第一个字母小写,其后的每个单词的首字母都大写
JAVA中的变量可以在代码块中的任何地方声明。(代码块是被一对大括号括起来的区域)
3、变量的作用域和生命周期
变量的作用域:就是被一对大括号括起来的区域,
变量的生命周期:当某一个变量在某个区域中声明后,那么只能在这个区域使用,出了这个区域就不能使用了。
例如:
class Demo
{
public static void main(String args[])
{
if(90>100)
{
int numInt=90;
System.out.println(numInt);
//这个numInt只能在if块中使用,离开了if块则没有了生命
}
}
}


例如:作用域是可以嵌套的
class Demo
{
public static void main(String args[])
{
int numIntTwo=100;
if(numIntTwo>=100)
{
int numInt=90;
System.out.println(“numIntTwo和numInt的和为:”+(numInt+numIntTwo));
//numIntTwo可以在if块中使用,但是numInt不能出if块
}
}
}
以上例题说明:内层作用域可以访问外层作用域的变量,
但是外层作用域不能访问内层作用域的范围
只要作用域中的代码开始执行,变量就存在于内存中。换句话说:
变量超出作用域的范围后就会释放它的值。变量的生存期受到其作用域的限制。
4、类型转换
A、自动类型转换
发生自动类型转换的条件为:
两种类型必须兼容
目标类型大于源类型
例如:
int numOne=100;
byte numTwo=90;
int numThree=numOne+numTwo

例如:
byte numOne=90;
byte numTwo=90;
short a=90;
short b=90;
请问:numOne加上numTwo会是什么类型?????
a 加上 b会是什么类型????
答:是int类型。因为JAVA中进行计算时,最小类型为int型。

B、强制类型转换
要将float或double转成int类型,则要使用强制类型转换
例如:
float numOne =98f
int numTwo=(int)numOne;
会将小数位截去。


例如:
float a=98.9f;
int b=12;
double c=98.7;
请问:a加b加c后会是什么类型????
答:是double型,请参照类型提升规则。

(二)、运算符(&& || )
例如:分析下面的代码结果,请问a的结果是多少????
int a=10;
if(a>10 && ++a>10)
{
System.out.println(a);
}
System.out.println(a);
例如:分析下面的代码结果,请问a的结果是多少????
int a=10;
if(a>10 & ++a>10)
{
System.out.println(a);
}
System.out.println(a);

例如:分析下面的代码结果,请问a的结果是多少????
int a=9;
if(a<10 || ++a<10)
{
System.out.println(a);
}
else
{
System.out.println(a);
}

例如:分析下面的代码结果,请问a的结果是多少????
int a=9;
if(a<10 | ++a<10)
{
System.out.println(a);
}
else
{
System.out.println(a);
}


(三)、数组
1、概念:
数组是一个变量,用于将相同数据类型的数据存储在连续的存储单元中。
2、特点:
数组一旦声明数组的大小,就不能再修改
数组中的数据可以是原始数据类型,也可以是一个对象
如果创建数组时,没有给数组赋值,则该数据类型为所有数组元素赋给一个默认值
数组中第一个元素的索引号从零开始
3、创建数组:
一维数组:
int num[];//仅声明,没有分配空间
int numOne[]=new int[5];//int默认值为0
int numTwo[]={1,2,3,4,5};

二维数组:
int b[][];
int a[][]=new int[2][2];
int c[][]={{1,2},{3,4}};
数组的默认值
char numOne[]=new char[5];//char默认值为0
boolean numOne[]=new boolean[5];//boolean默认值为false
float numOne1[]=new float[5];//float默认值为0.0
double numOne2[]=new double[5];//double默认值为0.0
byte b[]=new byte[5];//byte默认值为0
4、取数组长度
数组名.length
例如:将numTwo数组中的值打印出来
int numTwo[]={1,2,3,4,5};
for(int i=0;i<numTwo.length;i++)
{
System.out.println(numTwo);
}

int c[][]={{1,2},{3,4},{5,6}};
System.out.println(c.length);//取行的长度
System.out.println(c[0].length);//取列的长度

5、数组操作的一些方法
System.arraycopy(源数组,源数组的开始下标,目标数组,复制的长度)
例如:将数组a的所有值拷贝到数组b中
int a[]={1,2,3,4,5};
int b[]=new int[5];
System.arraycopy(a,0,b,5,5);
for(int i=0;i<a.length;i++)
{
System.out.println(a);
System.out.println(b[5+i]);
}


例如:将a数组中的第三个到第五个值复制到b数组中的第三个到第五个中
int a[]={1,2,3,4,5};
int b[]=new int[10];
System.arraycopy(a,2,b,2,3);
for(int i=2;i<5;i++)
{
System.out.println(a);
System.out.println(b);
}

Arrays.sort(数组)
int a[]={2,1,3,6,8,4,5,6,3,2};
Arrays.sort(a);
for(int i=0;i<a.length;i++)
{
System.out.println(a);
}

Arrays.binarySearch(数组,查找的值)//返回要查找的值在数组中的下标

int a[]={2,1,3,6,8,4,5,6,3,2};
int b=8;
System.out.println(Arrays.binarySearch(a,b));


Arrays.fill(数组,新值)//将新值替换掉数组中所有值
int a[]={2,1,3,6,8,4,5,6,3,2};
Arrays.fill(a,9);
for(int i=0;i<a.length;i++)
System.out.println(a);

(四)、命令行参数
每一个JAVA应用程序都有一个带String [] args参数的main方法。这个参数表明main方法将接收一个字符串数组,也就是命令行参数。
public static void main(String args[])
{
for(int i=0;i<args.length;i++)
System.out.println(args);//将从命令行输入的参数输出打印
}


public static void main(String args[])
{
int a=0;
for(int i=0;i<args.length;i++)
{
a=Integer.parseInt(args);//将输入的参数转成int型,并且输出
System.out.println(a);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值