Minhas variaveis so saem zeradas alguem pode ma ajudar?

import java.util.*;
import java.io.*;

public class Exercicio02{


		public static void main (String[] args){
	

		int idade,masc,fem,sim,nao,masc45,fem21,menor,maior,
		maiorid,menorid,menormulher;
		
		Double idademed,porcenhomens,idadeexp,masctotal;

		String sexo,M,F,experiencia,S,N;
		Scanner ler = new Scanner(System.in);
masc=0;
masctotal=0.0;
fem=0;
sim=0;
nao=0;
idadeexp=0.0;
idademed=0.0;;
fem21=0;
masc45=0;
menorid=0;
menor=99999999;
maior=1;
idade=1;

while(idade!=0){

//

System.out.println("\nDigite Seu Sexo Com 'M' ou 'F': \n");
sexo=ler.next();
sexo=sexo.toUpperCase();//Trasformar a Letra em Maiuscula.

System.out.println("\nDigite Seu Voce Possui Experiencia:( 'S' ou 'N') \n");
experiencia=ler.next();

System.out.println("\nDigite sua Idade: \n");
idade=ler.nextInt();


if (sexo =="M") {
	masc=masc;
	masctotal++;	
}

	else if (sexo =="F") {
		fem++;
	}

		 else if (experiencia == "S") {
				sim++;
		
		}
				else if (experiencia == "N") {
					nao++;
				}
						else if (idade>1 && experiencia =="S" && sexo == "M") {
							idadeexp++;	
							idademed=idade/idadeexp;

						}
						else if (idade>45 && sexo == "M") {
							masc45++;
							}
								 else if (idade<=21 && sexo =="F" && experiencia == "S") {
										fem21++;
									}
										else if (idade>maior) {
												maiorid=idade;
										}
											else if (idade<menor) {
													menorid=idade;
											}
}


porcenhomens=masc45*100/masctotal;

System.out.println("\n O NUMERO DE CANDIDATOS DO SEXO FEMININO E DE: \n"+fem);
System.out.println("\n O NUMERO DE CANDIDATOS DE SEXO MASCULINO E DE: \n"+masc);
System.out.println("\n A IDADE MEDIA DOS HOMENS QUE JA POSSUEM EXPERIENCIA: \n"+idademed);
System.out.println("\n A PORCENTAGEM DE HOMENS COM MAIS DE 45 DENTRE TODOS E DE: \n"+porcenhomens);
System.out.println("\n O TOTAL DE MULHERES COM IDADE INFERIOR A 21 DENTRE O TOTAL E DE: \n"+fem21);
System.out.println("\n A MENOR IDADE DENTRE AS MULHERES QUE JA POSSUEM EXPERIENCIA E A: \n"+menorid);


System.out.println(""+masc);
System.out.println(""+masctotal);
System.out.println(""+fem);
System.out.println(""+fem21);
System.out.println(""+sim);
System.out.println(""+nao);
System.out.println(""+masc45);
System.out.println(""+fem21);
System.out.println(""+menorid);


}
}

Compare todas as Strings utilizando o método equals ao invés ==.

Já teve essa discussão de .equals() e == no forum se quiser da uma olhada
link: .equals() ou ==
Em resumo o == é utilizado para tipos primitivos e o .equals() é utilizado para comparar objetos, e se lembrar que td q se começa com letra maiscula é uma classe vamos ver que string é uma então quando se cria -> String sexo, vc está criando um objeto, no geral usando o .equals() vc vai comparar o conteúdo dos objetos.

Estava analizando seu código e percebi uso inadequado de else if(), fazendo que partes do códigos não seja executadas e a falta do uso do CamelCase Ajuda em camelcase em Java

Método main:

   public static void main (String[] args){


	int idade,masc,fem,sim,nao,masc45,fem21,menor,maior,
	maiorid,menorid,menormulher;
	
	double idademed,porcenhomens,idadeexp,masctotal; 

	String sexo,experiencia;
            Scanner ler = new Scanner(System.in);
            
            masc = 0;
            masctotal = 0.0;
            fem = 0;
            sim = 0;
            nao = 0;
            idadeexp = 0.0;
            idademed = 0.0;
            double idadeMediaMasculina = 0;
            fem21 = 0;
            masc45 = 0;
            maiorid = 1;
            menorid = 9999999;

            while(true){ //Cria um loop infinito
                //

                System.out.println("______________Pessoa______________");
                    System.out.print("Digite Seu Sexo Com 'M' ou 'F': ");
                    sexo = ler.next();
                    sexo = sexo.toUpperCase();//Trasformar a Letra em Maiuscula.

                    if(!"M".equals(sexo) && !"F".equals(sexo)){ //Caso sexo esteja errado, ou seja se diferente de sexo == a m e sexo == a f ele repete o while
                        System.out.println("Opção invalida!");
                        continue; //volta para o inicio do while
                    }

                    System.out.print("Digite Seu Voce Possui Experiencia:( 'S' ou 'N'): ");
                    experiencia = ler.next();
                    experiencia = experiencia.toUpperCase(); //Tem q transformar em letra maiuscula tb

                    if(!"S".equals(experiencia) && !"N".equals(experiencia)){ //Caso sexo esteja errado
                        System.out.println("Opção invalida!");
                        continue; //volta para o inicio do while
                    }
                    
                    System.out.print("Digite sua Idade: ");
                    idade = ler.nextInt();
                    
                    if(idade <= 0){
                        System.out.println("Idade tem que ser maior que 0 para cadastrar uma pessoa");
                        continue;
                    }
                    
                System.out.println("---------------------------------\n");
                
                          
                    if ("M".equals(sexo)) {
                            // masc = masc; Você só esta fazend masc receber o valor 0
                            masc ++; // pq duas variaveis recebem valor n poderia usar só uma?
                            masctotal++;	
                    }else if ("F".equals(sexo)) {
                              fem++;
                          }//else -> se vc uma das condições anteriores forem verdadeiras ele não vai checar experiencia, por isso não usa else aqui 
                    
                    if ("S".equals(experiencia)) {
                        sim++;
                    }else if ("N".equals(experiencia)) {
                              nao++;
                          } //else -> msm motivo q a anterior, vc ta comparando outros dados e n uma grande extensão do msm

                    if (idade > 1 && "S".equals(experiencia) && "M".equals(sexo)) {
                        idadeexp++;
                        //   idademed = idade/idadeexp; 
                        //Faz a média errado, divide a ultima idade digitada e divide pelo numero de homens com experiencia cadastrados
                        
                        idademed += idade; //armazena a soma das idades
                        idadeMediaMasculina = idademed/idadeexp; // calcula a média td vez q um homem com experiencia é cadastrado
                    }//else -> se a condição anterior for atendida n dara valor a masc45, por isso n usa else
                    
                    if (idade>45 && "M".equals(sexo)) {
                        masc45++;
                    }else if (idade<=21 && "F".equals(sexo) && "S".equals(experiencia)) {
                          fem21++;
                          
                          //Já que só quer a menor idade feminina, aqui ele vai pegar as maiores e menores idades femininas
                            if (idade > maiorid) { //Tem que comparar com idade que ele já recebeu, senão ele vai ficar sobreescrevendo a maior e a menor idade
                            maiorid = idade;
                            } //else -> a menor idade pode ser a maior idade, por isso n usa o else
                            if (idade < menorid) {
                                menorid = idade;
                            }
                          }//else -> else if é se as condições anteriores não foram atendidas continue checando 

                
                System.out.print("Cadastrar outra pessoa? (S/N): ");
                    String resp = ler.next();
                    resp = resp.toUpperCase(); 
                    System.out.println("");
                if("N".equals(resp))break; //Quebra o loop, apenas quando digitado n ou N
            }

            porcenhomens= masc45*100/masctotal;

            System.out.println("\n O NUMERO DE CANDIDATOS DO SEXO FEMININO E DE: " + fem);
            System.out.println("\n O NUMERO DE CANDIDATOS DE SEXO MASCULINO E DE: " + masc);
            System.out.println("\n A IDADE MEDIA DOS HOMENS QUE JA POSSUEM EXPERIENCIA: " + idadeMediaMasculina);
            System.out.println("\n A PORCENTAGEM DE HOMENS COM MAIS DE 45 DENTRE TODOS E DE: " + porcenhomens);
            System.out.println("\n O TOTAL DE MULHERES COM IDADE INFERIOR A 21 DENTRE QUE POSSUI EXPERIENCIA: " + fem21);
            System.out.println("\n A MENOR IDADE DENTRE AS MULHERES QUE JA POSSUEM EXPERIENCIA E A: " + menorid);


            System.out.println("Mans: " + masc);
            System.out.println("Total mans: " + masctotal);
            System.out.println("Womans: " + fem);
            System.out.println("F <=21: " + fem21);
            System.out.println("Sim: "+sim);
            System.out.println("Não: " + nao);
            System.out.println("Masc >= 45: " + masc45);
            //System.out.println("" + fem21); //já esta exibindo essa variavel
            System.out.println("Maior: " + maiorid);
            System.out.println("Menor: " + menorid);


  }