没有C就没有java,怎么解释?
解释dll/so/jni
C的char和java的char
用c程序演示c的 char -128~127 和 unsigned char 0 ~255;数据范围
用java输出‘张’ 的十进制(主机命令行运行)
java运算符’+’的含义
解释System.out.println(‘a’+1+”a”);
System.out.println(“a”+1+’a’);
System.out.println(“1”+1+’a’);
System.out.println(“1”+(1+’a’));
System是什么? out是不是函数? println是什么?
byte b=0x80;
int a=0x8000 0000;
用java程序输出b a
b1.java(eclipse)
class b1{
//定义一个函数
static int test(int i){
i++;
return i;
}
public static void main(String args[]){
int i=12;
test(i); //使用函数
System.out.println(test(i))
System.out.println(i);
}
}
程序运行结果( )
什么是局部变量?局部变量可以什么地方使用?
函数调用在哪个内存进行?
说说JDK JRE API JVM关系?
MYSQL怎么分页?
c和java的局部变量?
c和java的数组?
数组名表示地址
C数组访问可以越界,Java不能越界
c定义数组中括号中可以写数字,java不可以,java的中括号可以放在变量的左边或右边
a.c
void main(){
int a[12]={1,2};
printf(“%d\n”,sizeof(a)/sizeof(int));
}
java程序
class testarr{
public static void main(String args[]){
int a[12]={1,2}; //报什么错误
}
}
以C为例,求一个整形数组的和
typedef char* String;
int sumOfArr(int *a,int len){
int sumOfArr(int a[10000000],int len){
int sumOfArr(int a[],int len){
int s=0; //s是局部变量:函数里面定义的变量
int i=0;
for(; i<len; i++){
s=s+a[i];
}
return s;
}
void main(String zsls[]){
int a[]={1,3,5};
printf(“%d\n”,sumOfArr(a,3));
}
C程序
int test(int a[]){
printf(“%d,%x\n”,a,a);
a[0]=a[2];
a[1]=a[0];
return a[2];
}
void main(){
int a[]={1,3,5};
printf(“%x\n”,a);
test(a);
printf(“%d\n”,a[1]);
}
stack main
a[0] 1 -- 5
a[1] 3 ---5
a[2] 5
call test
a 记录main中数组a的地址
解释程序运行结果
java程序
class arr1{
static int test(int a[]){
a[0]=a[2];
a[1]=a[0];
return a[2];
}
public static void main(String args[]){
int a[]={1,3,5};
test(a);
System.out.printf(“%d\n”,a[1]);
}
}
运行带参数a b c解读下列程序
typedef char* String;
int main(int argc,String args[]){
int i=0;
int s=0;
for( ; i<argc ;++i)//第二个表达式是真假判断条件
printf(“%s\n”,args[i]);
printf(“%d\n”,i);
for( i=1;i<100;i=i+2)
s=s+i;
printf(“%d\n”,s);
}
在RedHat 中运行 ./a.out a b c
运行带参数a b c解读下列程序
class b1{
public static void main(String args[]){
int i=0;
int s=0;
for( ; i<args.length ;i++)
System.out.println(args[i]);
for( i=1;i<100;i=i+2)
s=s+i;
System.out.printf(“%d\n”,s);
}
}
运行 java b1 a b c
比较c和java的main形参args的区别?
用C和java输出乘法口诀表(要做到代码一样,除了输出api不一样,在linux中运行)
编辑java文件b2.java(可以在eclipse中编辑,编辑后保存,会生成class文件,在命令行无需再编译)
package com.b2;
class b2{
public static void main(String …args){
int i=2;
System.out.println(i>1); //大于运算符
System.out.println(i & 3); // 与运算符 1 & 1 =1 1 & 0=0 0& 0=0
System.out.println(i | 3); // 或运算符 1 | 0= 1 1 | 1=1 0 |0 =0
java.lang.System.out.println(7 ^ 4); //异或(不相同才或)运算符
}
}
编辑c文件b3.c【linux中运行】
typedef char* String;
void main(String args[]){
int s=0;
int i=1;
for(;;){
i++;
s=s+i++; //后++先用再加
if(i>=100) break;
}
printf(“%d\n”,s);
}
编辑java文件b3.java【在eclipse中运行】
class b3{
public static void main(String args[]){
int s=0;
int i=1;
for(;;){ //for中不写表达式,表示死循环
i++;
s=s+i++; //后加加,先用后加
if(i>=100) break;
}
System.out.printf(“%d\n”,s);
}
}
编辑b4.c
typedef char* String;
void main(String args[]){
int s=0;
int i=2;
do{
s=s+i;
i=i+2;
}while(i<12);
printf(“%d\n”,s);
}
编辑b4.java
class b4{
public static void main(String args[]){
int s=0;
int i=2;
do{
s=s+i;
i=i+2;
}while(i<12);
System.out.printf(“%d\n”,s);
}
}
编辑b5.c
typedef char* String;
void main(String args[]){
int s=0;
int i=2;
while(i<12){ //while中条件为真,则执行循环体
s=s+i;
i=i+2;
};
printf(“%d\n”,s);
}
编辑b5.java
class b5{
public static void main(String args[]){
int s=0;
int i=2;
while(i<12){ //while中条件为真,则执行循环体
s=s+i;
i=i+2;
};
System.out.printf(“%d\n”,s);
}
}
java程序
class b6{
public static void main(String args[]){
int i=3;
while(i++>2) i++;
System.out.printf(“%d\n”,i);
}
}
运行结果( 写出你分析的答案 )
class b7{
public static void main(String args[]){
int i=3;
while(i++<4) i++;
System.out.printf(“%d\n”,i);
}
}
运行结果( )
群里文件