不管什么语言的程勋文件如c语言(.c)java(.java)其本质上都是文本文件,也就是可以使用任何文本编译器如(记事本)之所以用各种开发工具只是为了方便高效的工作
源程序文件计算机是无法执行的,必须翻译成二进制的机器语言指令才能被执行,这个过程叫做编译。
计算机语言包括机器语言 汇编语言和高级语言
机器语言:所有的指令用0和1的组合来描述
00000000000001 1110101100011 011010110非专业人士看不懂
所以出现了汇编语言
如 mov ax1;
Add ax2;符号化的机器语言,更便于理解和记忆的
高级语言:屏蔽计算机多数的底层实现细节,更方便程序员使用。但是使得程序员对于原理性知识的缺乏,从而应用起来不能得心应手
程序设计方法
程序;为了是实现某个功能的步骤的描述
程序设计;规划步骤并描述
编织者的要求;(1)懂业务(2)掌握一种描述语言
计算机程序与我们一般意义上的程序本质上是一样的不同的是描述语言和执行者不同
程序员的要求;(1)懂业务(2)掌握一种计算机语言
重点是提升业务能力,也就是分析问题,解决问题的能力,说的更具体一点就是站在计算机的角度去分析问题(计算机思维)而不是什么计算机语言,语言用多了自然就会,不需要太多特别的学习。
三步法;
(1) 理清解决问题的思路(要求换位思考)
(2) 用自然语言描述思路
(3) 翻译成计算机语言
案例;计算一个三位数的各位数字之和
思路;
(1) 提示用户输入一个三位数
(2) 接受用户输入
(3) 计算百位(除以100)
(4) 计算十位((n-百位*100)/10);(n/10%10)
(5) 计算各位(n%10)
(6) 三位求和
(7) 输出结果
IDEA的创建
创建项目
创建包
创建源程序文件
输入源代码
public static void main(String []args){
System.out.print("Hello,world!");
}
运行结果与查看
常用快捷键
Psvm
sout
查找Ctrl+f(find)
替换Ctrl+R(Replace)
Ctrl+D (Duplicate) 重复当前行
Ctrl+X 剪切
Shift+f6重命名
案例集选球的体积;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请出入球的半径");
int r = scan.nextByte();
double v =4f/3*Math.PI*r*r*r;
System.out.printf("%6.2f",v);
}
}
涉及知识点;
(1)常量
常量指的是在程序运行期间不变的数据,常量分为直接常量和符号常量。
直接常量;
3,4f,3.14 Hello,World
1.2e-6(1.2×10-6)纯文本文件 没有格式
符号常量;符号化的常量,也就是给常亮取个名字
为什么使用符号常量
便于维护
符号常量相比与直接商量,能提供更丰富的信息,城墙程序可读性。
0123(八进制)
0x123(十六进制)
进制;一种技术的方法,即所谓的“逢x进1 借1当x”
基;某种进制所用的符号的个数比如十进制使用0——9是个符号。二进制用0,1 十六进制用0——9 和a——f十六个符号
权;一个符号所表示的值得大小除了和符号本身有关,还与其所处位置有关系把某个位置的1所表示的值得大小即为该位的权。
111=1*102+2*101+3*100
1234=
(123)8=1*82+2*81+3*80
进制转换
X进制→十进制
按权展开
十进制→X进制
除基取余,倒序排列
电脑为什么要用二进制;
大部分物理现象不能分出十种状态
但很多物理现象都能分出两种状态
数据类型;
为什么要用数据类型?
生活中的数据类型的本来就是有类型的,只不过我们没在意
或者去深入研究。那么计算机语言就是去告诉如何去解决现实问题,
当然需要对等的概念去描述数据。
常见的数据类型有 int long short byte float double
String char
数据类型有啥作用?
决定了每个数据存储时所需要的字节数
决定了数据所能执行的运算
变量;
变量的本质是什么,或者说变量到底是什么?
变量本质是内存单元,内存单元可以存储数据,也可以将存储的数据读出
Int X;的含义是;告诉编译器,需要申请四个字节的内存空间,以这个单元(四字节)就叫做x了。
Int x = 4的含义是申请四个字节的内存单元 同事将数据4存储进去
内存单元有两个属性值和地址。
X= X+1;的含义;
将x存进再送往运算加一后在送回去
运算符;
算术运算符
+ - * / % ++ --
除法有两种;一般除法和整除,如果除数和被除数都为整形,则执行的是整除,否则执行一般除法。
求余可用于判断奇偶,判断因子,控制数据的周期变化。
++;自增运算
b=a++;等阶于b=a;a++;
b=++a;等阶于a++;b=a;
总结;++在前就先加后用,++在后则先用后加。
++ --都可以用赋值运算和+,-来替换的,所及即使没有++也是可以的,
但是他们可以是表达更加简洁。
关系运算符
<<= > >= == !=
(3)逻辑运算符
&&(与)丨丨(或)!(非)
赋值运算符
=将数值存入内存单元
赋值运算的左边一定是变量而不能是其他任何东西
特别注意此处有坑!!
= 和 ==的混用
如何避免?判断相等时,尽量把常量或者表达式放在左边(一般习惯放在右边),why
b+c==a a=b+c
复合赋值运算 += -=……
字符串:StingcharAt(i)
条件运算符
c=a>b?a:b;
可以取代简单的if结构,简洁
格式字符;%d
“%d和%d中较大的数是” a,b max
转移字符
\n 换行