Java第一天
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java第一天,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4413字,纯文字阅读大概需要7分钟。
内容图文
Java语言概述:
是SUN(Stanford University Network,斯坦福大学网络公司)1885年推出的一门高级汇编语言。
是一种面向Internet的编程语言
随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
跨平台性
命令行方式:
dos命令行,常见的命令:
dir:列出当前目录下的文件及文件夹
md(make directory):创建目录
rd(remove directory):删除目录
cd(change directory):进入指定目录
cd..:退回到上一级目录
cd\:退回到根目录
del:删除文件
exit:退出dos命令行
临时配置方式:通过dos命令中set命令完成
set:用于查看本机的所有环境配置变量的信息。
set 变量名:查看具体一个环境变量的值。
set 变量名=:清空一个环境变量的值。
set 变量名=具体值:给指定变量定义具体值。
在原有环境变量值基础上添加新值:
set path =新值;%path%
注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。
标识符:由26个英文字母大小写、数字:0-9、符号:_ $组成。
定义合法标识符规则:
1.数字不可以开头
2.不可以使用关键字
例:
需求:练习一个hello world程序
思路:
1.定义一个类,因为java程序都定义在类中,java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现。
2.定义一个主函数,为了让该类可以独立运行。
3.因为演示hello world,在控制台上看到该字样,所以需要使用输出语句完成。
步骤:
1.用class关键字来完成类的定义,并起一个阅读性强的类名。
2.主函数:public static void main(String[] args)这是固定形式,jvm认识。
3.使用输出语句:System.out.println("hello world");
5%-2=1
-5%2=-1
int a=3,b;
b=a++;
结果:a=4,b=3
过程:1.开辟一块空间temp用来存放a的初值。2.a++。3.b=temp
int a=3,b;
b=++a;
结果:a=4,b=4;
int i=1;
i=i++;
System.out.println(i);
结果:1
short s=3;
s+=4;
System.out.println(s);
结果:7
short s=3;
s=s+4;
System.out.println(s);
结果:报错,s可能丢失精度
原因:前一种情况s+=4就相当于s=short(s+4);做了加法运算之后进行了强制,而后面一种s+4之后变成了int型,不能赋值给低精度的类型,会丢失精度。
&和&&的区别:
&和&&的运算结果是一致的,但是运算过程有点小区别:
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参与运算。
一个数异或一个数两次,结果还是这个数。
3<<2=3*2(2)=12
左移几位其实就是该数据乘以2的几次方。<<:可以完成2的次幂运算
6>>1=3=6/2(1)
右移其实就是该数据除以2的次幂。>>:对于高位高位出现的空位,原来高位是什么就用什么补这个空位。
>>>无符号右移:数据进行右移是,高位出现的空位,无论原高位是什么,空位都用0补。
最有效率的方式算出2乘以8的结果?
2*8=2*2(3)=2<<3=16
两个值进行交换:
1)这种方法不要用,如果两个整数的数值过大,会超出int范围,会强制转换,数据会变化
a=a+b;
b=a-b;
a=a-b;
2)一个数异或一个数两次,结果还是这个数。
a=a^b;
b=a^b;
a=a^b;
内存的划分:
1.寄存器。
2.本地方法区。
3.方法区。
4.栈内存。
存储的都是局部变量。
而且变量所属的作用域一旦结束,该变量就自动释放。
5.堆内存。
存储的是数组和对象(其实数组就是对象) 凡是new建立的都在堆中。
特点:
1,每一个实体都有首地址值。
2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或0.0f,boolean:false,char:‘\u0000‘
3,垃圾回收机制。当实体没有被指向时,会自动回收。
折半查询的方法找到被插入数的角标
1 import java.util.*; 2publicclass Demo 3{ 4publicstaticvoid main(String[] args) 5 { 6int[] arr=newint[]{1,4,7,9,12,15,42,67,78,80,89}; 7 System.out.println(HalfSearch(arr,100)); 8int index=Arrays.binarySearch(arr,100);//如果存在,返回具体的角标位置,不存在返回的是 -插入点-1 9 System.out.println(index); 10 } 11//折半查插入的角标12publicstaticint HalfSearch(int[] arr,int key) 13 { 14int max,min,mid; 15 min=0; 16 max=arr.length-1; 17while(min<=max) 18 { 19 mid=(min+max)/2; 20if(arr[mid]<key) 21 min=mid+1; 22elseif(arr[mid]>key) 23 max=mid-1; 24else25return mid; 26 } 27return -min-1; 2829 } 30 }
int转成Hex
1 public static String intToHex(int num) 2 { 3char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘}; 4 String hex="0x"; 5char[] arrHex=newchar[8]; 6int i=0; 7while(num>0) 8 { 9int n=num&15; 10 arrHex[i]=chs[n]; 1112 num=num>>>4; 13 i++; 14 } 15for(int j=i-1;j>=0;j--) 16 { 17 hex+=arrHex[j]; 18 } 19return hex; 20 }
十进制转其他进制
1 // 十进制转16进制 2 public static String toHex(int num) 3 { 4return trans(num,15,4)+"H"; 5 } 6//十进制转8进制 7publicstatic String toOctal(int num) 8 { 9return trans(num,7,3)+"O"; 10 } 11//十进制转2进制12publicstatic String toBinary(int num) 13 { 14return trans(num,1,1)+"B"; 15 } 16publicstatic String intToHex(int num) 17 { 18char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘}; 19 String hex="0x"; 20char[] arrHex=newchar[8]; 21int i=0; 22while(num>0) 23 { 24int n=num&15; 25 arrHex[i]=chs[n]; 26// if(n>=0&&n<=9) 27// { 28////hex+=n; 29// arrHex[i]=(char)n; 30// } 31// else 32// { 33//hex+=(char)(n-10+‘A‘); 34//arrHex[i]=(char)(n-10+‘A‘); 35// switch(n) 36// { 37// case 10: 38// hex+="a"; 39// break; 40// case 11: 41// hex+="b"; 42// break; 43// case 12: 44// hex+="c"; 45// break; 46// case 13: 47// hex+="d"; 48// break; 49// case 14: 50// hex+="e"; 51// break; 52// case 15: 53// hex+="f"; 54// break; 55// } 56//}57 num=num>>>4; 58 i++; 59 } 60for(int j=i-1;j>=0;j--) 61 { 62 hex+=arrHex[j]; 63 } 64return hex; 65 } 6667publicstatic String trans(int num,int base,int offset) 68 { 69char[] chs={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘}; 70 String hex=""; 71char[] arrHex=newchar[32]; 72int i=0; 73while(num>0) 74 { 75int n=num&base; 76 arrHex[i]=chs[n]; 77 num=num>>>offset; 78 i++; 79 } 80for(int j=i-1;j>=0;j--) 81 { 82 hex+=arrHex[j]; 83 } 84return hex; 85 }
原文:http://www.cnblogs.com/pushudepu/p/5984675.html
内容总结
以上是互联网集市为您收集整理的Java第一天全部内容,希望文章能够帮你解决Java第一天所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。