什么是软件?
软件就是 一系列按照特定顺序组织的计算机数据和指令的集合
如:
系统软件:
DOS,WINDOWS,Linux等
应用软件:
如:
扫雷,迅雷等
什么是开发?
制作软件
软件的出现实现了人与计算机之间的更好的交互
交互方式:
图形化界面:
简单直观,使用者容易上手。
命令行方式:
需要一个控制台,输入特定的指令,让计算机完成一些操作。
麻烦,需要记住一些命令
dos命令:
dir:列出当前目录下的文件以及文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd..:退回到上一级目录
cd/:退回到根目录
del:删除文件
exit:推出dos命令行
java语言概述:
是简单易学,完全面向对象,安全可靠,与平台无关的编程语言
三种技术架构:
j2ee企业版
该技术体系包含的技术如 Serbiet jsp等,主要针对于web应用程序开发
j2se标准版
开发普通桌面和商务应用程序提供的解决方案。如扫雷
j2me小型版
开发电子消费产品和收入式设备提供的解决方案,如手机中的应用程序等
java语言的特定:跨平台性
原理:
只要先安装一个java虚拟机即可
由jvm来负责java程序在该系统中的运行
即:
只要在不同的系统上装各自的jvm,就都可以用
jre:(运行环境)
包括jvm和Java的程序所需的核心类库等。
jdk:(开发工具包)
jdk里有jre,jre里有jvm
简单而言:使用jdk开发完成的java程序,交给jre去运行
标识符:(如类名)
在程序中自定义的一些名称。
由26个英文字母大小写,数字:0-9符号;_$组成
定义合法标识符规则:
1.数字不可以开头
2.不可以使用关键字
java中严格区分大小写。
注意:在起名字时,为了提高阅读性,要尽量有意义
java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成,第一个小写,第二个单词开始首字母大写
xxxYyyZzz
常量名:所有字母都大写,都大写。多单词时每个单词用下划线连接
XXX_YYY_ZZZ
常量
1.整数常量 所有整数
2.小数常量 所有小数
3.布尔型常量 只有true和flase
4.字符常量
将一个数字字母或者符号用单引号('')标识
5.字符串常量
将一个或者多个字符用双引号标识
6.null常量 只有null
变量:
1.就是将不确定的数据进行存储
2.变量有自己的作用域。对于for来讲:
如果将用于控制循环的增量定义在for语句中。
那么该变量只有for语句内有效。for语句执行完毕,该变量在内存中被释放
对于整数:java有三种表现形式
十进制:0-9,满10进1
八进制:0-7,满8进1,用0开头表示
十六进制:0-9,A-F,满16进1,用0x开头表示
规律:进制越大,表现形式越短
进制的转换
2进制转10进制快捷方式:
0 0 1 0 1
8 6 4 2 1
1+4=5(十进制)
2进制转16进制快捷方式:
4个4个 图:0x5A
2进制转8进制快捷方式:
3个3个 图:132(8进制)
负数的二进制表现形式:
6=110
-6:其实就是6的二进制反+1
0000-0000-0110
1111-1111-1001
&0000-0000-0001
----------------------
1111-1111-1010=-6
十进制 --> 二进制
int num=6;
StringBuffer sb=new StringBuffer();
while(num>0)
{
sb.app(num%2);
num=num/2;
}
System.out.println(sb.reverse()); //反转
十进制 --> 二进制(查表法)
int num=6;
char[] chs={'0','1'};
char[] arr=new char[32]; //二进制32位
//定义一个指针
int pos=arr.length;
while(num!=0)
{
int temp=num&1; //取两位
arr[--pos]=chs[temp];
num=num>>>1;
}
for(int x=pos;x<arr.length;x++)
{
System.out.print(arr[x]);
}
十进制-->16进制
int num=60;
StringBuffer sb=new StringBuffer();
for(int x=0;<8;x++) //
16进制只有32位,4个拆开运算,那么只需要循环8次
{
int temp=num&15; //取四位
if(temp>9)
sb,append(
(char)(temp-10+'A'));
else
sb.append(temp);
num=num>>>4;除以16
}
System.out.println(sb.reverse()); //反转
十进制-->16进制(
查表法):
char[] chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//定义一个临时容器
int num=60;
char[] arr=new char[8];
int pos=ar.length;
while(num!=0)
{
int temp=num&15;
arr[--pos]=chs[temp]; //
将多余的空位除去后,赋值
num>>>4;
}
for(int x=pos;x<arr.length;x++)
{
System.out.print(arr[x]);
}
运算小知识点:
int a=3;
b=a++ 先赋值后运算 3=3,3+1=4
b=++a 先运算后赋值 4=4
转义字符:就是通过 \ 来转变后面字母或者符号的含义
相当于 \n 换行
逻辑运算符:
& :只要一边为flase,就为flase (boolean类型)
|:两边只要有一个为true,就为true
^ 异或: 两边相同为flase,不同为true
&和&&的特点
&:无论左边是true是flase。右边都运算
&&:当左边为flase时。右边不运算
|和||特点:
|:两边都参与运算
||:当左边为true.右边不运算
位运算符:(效率高)
<<: 3<<2=12 乘以2的倍数
>>: 6>>1=3 除以2的倍数
>>:最高位补什么由原有数据的最高位值而定
如果最高位0,右移后,用0补空位
如果最高位1,右移后,用1补空位
>>>:无论最高位是什么,右移后,都用0补
嵌套:
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
sum++;
}
}
结果12,先算j,在算i,最后相乘
扩展:
1.对于打印长方形:
外循环控制行数。
内循环控制每一行的列数(一行中元素的个数)
2.尖朝上,可以改变条件。让条件随着外循环变化
尖朝下,可以初始化值,让初始化随着外循环变化