Diferença entre C e Java

String de controle

String de controle: Formada pelos caracteres que a função imprime na tela, e pelos comandos de formatação (%c, %s, %d, %f) que definem a maneira como as variáveis serão impressas e caracteres especiais (\n, \t, ...).
Código Tipo Formato
%s char * String (vetor de caracteres)
%d int Inteiro decimal com sinal
%i int Inteiro decimal com sinal
%o int Inteiro octal sem sinal
%u int Inteiro decimal sem sinal
%x int Inteiro hexadecimal sem sinal (com a, b, c, d, e, f)
%X int Inteiro hexadecimal sem sinal (com A, B, C, D, E, F)
%f float Valor com sinal da forma [-]dddd.dddd
%c char Um caracter
%% nada O caracter % é impresso

 

Char e String

Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      String Texto = "Hello World";

      System.out.print(Texto);
      System.out.print("\n");
   }
}
 #include <stdio.h>

int main(int argc, char **argv){

   char *Texto = "Hello World";

   printf("%s",Texto);
   printf("\n");
   return 0;
}
#include <stdio.h>

int main(int argc, char **argv){

   char Texto[] = "Hello World";

   printf("%s",Texto);
   printf("\n");
   return 0;
}
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv){

   char Texto[100];

   strcpy(Texto, "Hello World");

   printf("%s",Texto);
   printf("\n");
   return 0;
}
#include <stdio.h>

int main(int argc, char **argv){

   char Texto[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0'};

   printf("%s",Texto);
   printf("\n");
   return 0;
}
#include <stdio.h>

int main(int argc, char **argv){

   char Texto[100];
      Texto[0]  = 'H';
      Texto[1]  = 'e';
      Texto[2]  = 'l';
      Texto[3]  = 'l';
      Texto[4]  = 'o';
      Texto[5]  = ' ';
      Texto[6]  = 'W';
      Texto[7]  = 'o';
      Texto[8]  = 'r';
      Texto[9]  = 'l';
      Texto[10] = 'd';
      Texto[11] = '\0';

   printf("%s",Texto);
   printf("\n");
   return 0;
}

Char e Char

Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      char caractere = 'A';

      System.out.print(caractere);
      System.out.print("\n");
   }
}
#include <stdio.h>

int main(int argc, char **argv){

   char caractere = 'A';

   printf("%c",caractere);
   printf("\n");
   return 0;
}

Concatenação

Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c
 public class Exemplo {
   public static void main(String[] args) {

      String Texto;

      Texto =  "Texto 1 ";
      Texto += "Texto 2 ";
      Texto += "Texto 3.";

      System.out.print(Texto);
      System.out.print("\n");
   }
}
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv){

   char Texto[100];

   strcpy(Texto, "Texto 1 ");
   strcat(Texto, "Texto 2 ");
   strcat(Texto, "Texto 3.");

   printf("%s",Texto);
   printf("\n");
   return 0;
}
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv){

   char Texto[100];

   sprintf(Texto, "Texto 1 ");
   sprintf(Texto, "%sTexto 2 ", Texto);
   sprintf(Texto, "%sTexto 3.", Texto);

   printf("%s",Texto);
   printf("\n");
   return 0;
}
     

Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      String Texto;

      Texto =  "Texto 1 " + "Texto 2 " + "Texto 3.";

      System.out.print(Texto);
      System.out.print("\n");
   }
}
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv){

   char Texto[100];

   sprintf(Texto, "%s %s %s", "Texto 1", "Texto 2", "Texto 3.");

   printf("%s",Texto);
   printf("\n");
   return 0;
}

String: null = "\0", e char: NUL = '\0'

String
Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      String Texto;

      Texto = "Teste.";

      Texto = null;

      System.out.print(Texto);
      System.out.print("\n");
   }
}
#include <stdio.h>
#include <string.h>

#define null "\0"

int main(int argc, char **argv){

   char Texto[100];

   strcpy(Texto, "Teste");

   strcpy(Texto, null);

   printf("%s",Texto);
   printf("\n");
   return 0;
}
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv){

   char Texto[100];

   strcpy(Texto, "Teste");

   strcpy(Texto, "\0");

   printf("%s",Texto);
   printf("\n");
   return 0;
}

char
Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      char Texto;

      Texto = 'A';

      Texto = '\0';

      System.out.print(Texto);
      System.out.print("\n");
   }
}
#include <stdio.h>
#include <string.h>

#define NUL '\0'

int main(int argc, char **argv){

   char Texto;

   Texto = 'A';

   Texto = NUL;

   printf("%c",Texto);
   printf("\n");
   return 0;
}
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv){

   char Texto;

   Texto = 'A';

   Texto = '\0';

   printf("%c",Texto);
   printf("\n");
   return 0;
}

boolean

Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      boolean var = true;

      if(var == true){
         System.out.print("Verdadeiro");
      } else {
         System.out.print("Falso");
      }

      System.out.print("\n");
   }
}
#include <stdio.h>

typedef enum {false=0, true=1} boolean;

int main(int argc, char **argv){

   boolean var = true;

   if(var == true){
      printf("Verdadeiro");
   } else {
     printf("Falso");
   }

   printf("\n");
   return 0;
}

Funções

Arquivo (Java): Exemplo.java Arquivo Externo (Java): MeuObjeto.java Arquivo (Java): Exemplo.java Arquivo (C): Exemplo.c Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      MeuObjeto p = new MeuObjeto();

      System.out.print("Resultado = " + p.Soma(10, 10));
      System.out.print("\n");
   }
}
public class MeuObjeto {

   public MeuObjeto(){
   }

   public int Soma(int a, int b){
      return a + b;
   }
}
public class Exemplo {

    public static float Soma(float a, float b) {
        return a + b;
    }
    public static void main(String[] args) {

        System.out.print("Resultado = " + Soma(10, 10));
        System.out.print("\n");
    }
}
#include <stdio.h>

int Soma(int a, int b){
   return a + b;
}

int main(int argc, char **argv){

   printf("Resultado = %d", Soma(10, 10));

   printf("\n");
   return 0;
}
#include <stdio.h>

int Soma(int a, int b);

int main(int argc, char **argv){

   printf("Resultado = %d", Soma(10, 10));

   printf("\n");
   return 0;
}

int Soma(int a, int b){
   return a + b;
}

Vetor

Arquivo (Java): Exemplo.java Arquivo (Java):  Exemplo.java
Arquivo (Java): Exemplo.java
Arquivo (C): Exemplo.c
public class Exemplo {
   public static void main(String[] args) {

      String Cursos[]={"Português", "Matemática", "Física", "Química", "Biologia", "Inglês", "Geografia", "História"};

      for(int x = 0; x < Cursos.length; x++){
         System.out.print(" "+Cursos[x]);
      }
      System.out.print("\n");
   }
}
public class Exemplo {
   public static void main(String[] args) {

      String Cursos[];
      Cursos = new String[8];
         Cursos[0] = "Português";
         Cursos[1] = "Matemática";
         Cursos[2] = "Física";
         Cursos[3] = "Química";
         Cursos[4] = "Biologia";
         Cursos[5] = "Inglês";
         Cursos[6] = "Geografia";
         Cursos[7] = "História";

      for(int x = 0; x < Cursos.length; x++){
         System.out.print(" "+Cursos[x]);
      }
      System.out.print("\n");
   }
}
import java.util.ArrayList;

public class Exemplo {
   public static void main(String[] args) {

      ArrayList<String> Cursos = new ArrayList<String>();
         Cursos.add("Português");
         Cursos.add("Matemática");
         Cursos.add("Física");
         Cursos.add("Química");
         Cursos.add("Biologia");
         Cursos.add("Inglês");
         Cursos.add("Geografia");
         Cursos.add("História");

      for(int x = 0; x < Cursos.size(); x++){
         System.out.print(" "+Cursos.get(x));
      }
      System.out.print("\n");
   }
}
#include <stdio.h>

#define NUM_ELEM(x) (sizeof(x)/sizeof( *(x)))

int main(int argc, char **argv){

   char Cursos[][100] = {"Português", "Matemática", "Física", "Química", "Biologia", "Inglês", "Geografia", "História"};

   int x;
   int n = NUM_ELEM(Cursos);

   for(x = 0; x < n; x++){
      printf(" %s", Cursos[x]);
   }

   printf("\n");
   return 0;
}

Matriz

Arquivo (Java): Exemplo.java Arquivo (Java): Exemplo.java
Arquivo (C): Exemplo.c
 public class Exemplo {
   public static void main(String[] args) {

   int idade = 1;
   int nome = 0;

   String Matriz[][] = {
      {"Beatriz", "19"},
      {"Pedro", "32"},
      {"Cláudio", "23"},
      {"Susana", "27"},
      {"Marcos", "16"},
      {"Celina", "35"}
   };


   for(int i=0; i < Matriz.length; i++) {
      if (Float.parseFloat(Matriz[i][idade])<20){
         System.out.print(" " + Matriz[i][nome]);
      }
   }
      System.out.print("\n");
   }
}
public class Exemplo {
   public static void main(String[] args) {

   int idade = 1;
   int nome = 0;

   String [][] Matriz = new String[2][];
      Matriz[nome] = new String[6];
      Matriz[idade] = new String[6];
         Matriz[nome][0]  = "Beatriz";
         Matriz[idade][0] = "19";
         Matriz[nome][1]  = "Pedro";
         Matriz[idade][1] = "32";
         Matriz[nome][2]  = "Cláudio";
         Matriz[idade][2] = "23";
         Matriz[nome][3]  = "Susana";
         Matriz[idade][3] = "27";
         Matriz[nome][4]  = "Marcos";
         Matriz[idade][4] = "16";
         Matriz[nome][5]  = "Celina";
         Matriz[idade][5] = "35";

   for(int i=0; i < Matriz.length; i++) {
      if (Float.parseFloat(Matriz[idade][i])<20){
         System.out.print(" " + Matriz[nome][i]);
      }
   }
      System.out.print("\n");
   }
}
#include <stdio.h>
#include <stdlib.h>

#define NUM_ELEM(x) (sizeof(x)/sizeof( *(x)))

int main(int argc, char **argv){

   int nome = 0;
   int idade = 1;

   char Matriz[6][2][100] = {
      {"Beatriz", "19"},
      {"Pedro", "32"},
      {"Cláudio", "23"},
      {"Susana", "27"},
      {"Marcos", "16"},
      {"Celina", "35"}
   };

   int i;
   int n =NUM_ELEM(Matriz);

   for(i=0; i<n; i++) {
      if (atoi(Matriz[i][idade])<20){
         printf("%s ", Matriz[i][nome]);
      }
   }
   printf("\n");
   return 0;
}

 

Resultado Final

 

Arquivo: Exemplo.c
#include <stdio.h>
#include <string.h>

#define CLEAR printf("\033c");
#define clear printf("\e[H\e[2J");

#define null "\0"
#define NUL  '\0'

typedef enum {false=0, true=1} boolean;

#define NUM_ELEM(x) (sizeof(x)/sizeof( *(x)))

int main(int argc, char **argv){

   printf("Hello World\n");

   return 0;
}